zoukankan      html  css  js  c++  java
  • 20151027c#3

    string

    string str1="aaa";

    str1+="bbbb"

    一旦字符串创建后就不能修改了,+=时会在堆里重新开辟空间aaabbbb,非常耗费资源

    StringBuilder

     System.Text;//命名空间

    StringBuilder sb = new StringBuilder();
    sb.Append("aaa");
    sb.Append("bbb");
    Console.WriteLine(sb.ToString()); //返回aaabbb

    创建字符后,Append时会在原来的堆加入字符

    控制语句

    对一个集合(datatable list arrarylist )或数组()进行遍历(从第一个到最后一个)

    string[] aString ={"aaa","bbb","ccc"};
    foreach (var a in aString)//元素
      {
        Console.WriteLine(a);
      } 

    异常错误

     错误:语法上有问题,是不能够编译通过的

    string s1 = 1;//错误 1 无法将类型“int”隐式转换为

    Console.WriteLine(s1);

    异常:是可以编译通过的,但是不能够正常的运行

    缺点:页面会显示源代码的错误信息,是不安全的,非常不好的用户体验

    string[] aString = { "aaa", "bbb", "ccc" }; Console.WriteLine(aString[4]);//超出了范围

    异常处理:把可能发生异常的地方放在try里面,当发生异常时,就来捕获它

    try//不发生异常执行的内容
    {
        string[] aString = { "aaa", "bbb", "ccc" };
        Console.WriteLine(aString[4]);
    }
    catch (Exception ex)//发生异常执行的内容
    {
    
        Console.WriteLine(ex.Message);//索引超出了数组界限
        Console.WriteLine("网站正在维修中...");//可显示友好的内容
    }
    finally//不管是否发生异常,都执行的内容
    {
        Console.WriteLine("不管是否发生异常,都执行的内容");
    }

    数组和集合

    存储数据集合

    一维数组

    int[] i = {1,2,3};//常用

    int[] i= new int[3]; a[0]=1; a[1]=1;

    int[] i=new int[3]{1,2,3};

    foreach (var i in a)
    {
        Console.WriteLine("i的值{0}", i);//打印元素
        Console.WriteLine(a[i-1]);//打印所有元素,下标从0开始
    }

    二维数组

    int[,] a={{1,2},{2,3},{3,4}};

    缺陷:不能添加内容,修改,清空,功能较少

    集合:存放数据的容器,可以添加、修改、清空

    System.Collections;

    .RemoveAt(0)删除第一个元素

    .Add(0)在末尾添加0

    .Insert(1,5)在索引值为1处插入5

    .Clear()清除现有所有元素

    char[] aChar = { 'a','b','c','d','e'};
    
    ArrayList alist = new ArrayList();
    foreach (var a in aChar)
    {
        alist.Add(a);
    }
    foreach (var al in alist)
    {
        Console.WriteLine(al);
    }

    Object是任何数据类型的父类,是属性于引用类型的。

    alist.Add(Object); int 会有装箱操作,消耗时间,性能会受影响。为了解决此种情况就有了泛型,也叫object的泛型写法。.

    根据需求去变化 int string arrary object datatable 是可以放到arrarylist里

    泛型

    只添加一种数据类型

    System.Collections;

    也有添加、删除、修改的操作。

    List<int> list=new List<int>();
    int[] aNumber={1,2,3};
    foreach(var a in aNumber)
    {
        list.Add(a);
    }
    foreach (var al in list)
    {
        Console.WriteLine(al);
    }

    List<string> alist=new List<string>();

    当对数组进行非常频繁的操作,顺序就会有些乱,要精确定到某一个具体的值就需要用到Hashtable

    HashTable

    key value 方式存储的,可以进行精确定位。

    Hashtable ht = new Hashtable();
    ht.Add("key1", "aaa");
    ht.Add("key2", "bbb");
    foreach (var key in ht.Keys)
    {
        Console.WriteLine(ht[key]);
    }

    HashTable存储的也是Object类型的数据,会有频繁的进行装箱操作。所以有了Dictionary,也叫

    HashTable的泛型写法。

    Dictionary

    只添加一种数据类型

    Dictionary<string, string> dt = new Dictionary<string, string>();
    dt.Add("key1", "aaa");
    dt.Add("key2","bbb");
    foreach (var key in dt.Keys)
    {
        Console.WriteLine(dt[key]);
    }

    都需要掌握,不要停留概念上。

    面向对象的三大特征

    封装

     

    对于一个类,默认的访问修饰符是internal

    方法、变量的默认访问修饰符是private

    连接字符串 是private  核心

  • 相关阅读:
    selector
    Shape 属性解释
    Button 自定义图片,代码绘制样式,添加音效的方法
    android中得到颜色,图片资源的方式
    EditText 中文文档
    EditText 限制输入,自定义样式,监听输入的字符,自动换行
    TextView字体,行距,html格式,超链接,对大长度的设定
    TextView 中文文档
    Eclipse 汉化的和修改字体的方法
    让Android SDK Manager正常更新的办法
  • 原文地址:https://www.cnblogs.com/16lily521/p/4930542.html
Copyright © 2011-2022 走看看