5.24学习笔记

1、引用类型与值类型
    ->文件的复制与快捷方式的复制
    ->关于内存,可以以后
    
    int[] nums = {1,2};
    Console.WriteLine(nums.GetType().BaseType());//System.Array;
    
2、垃圾回收
    
3、静态与非静态
    ->如何定义静态成员与静态类
    ->如何调用静态方法等
    
4、模仿,复写
    ->找一个对象,帮你做事
    ->看源码,开源社区
        
5、异常    
    ->如何捕获异常
        try-catch
        try-catch-finally
        try-finally
    ->托管与非托管  托管只能管理本机
        ->.Net Framework
            CLR、CTS、类库
        ->由CLR管理的代码就是托管的,否则就是非托管的(File.Create)
    ->如何抛出异常
        ->异常也是一类,需要抛出一个异常就要new
        ->throw运算符,抛出异常
        
==========================================================
string 的构造方法
    1、string str1 = new string(char[] chs);
    2、string str2 = new string('a',7);
    
string 常用的属性(Length、Empty(常量))
    Length 与数组类似
    那么这个[]就不叫“下表”,"索引"
    
    常用的方法(索引的使用、ToCharArray)
    string str = stirng.Empty;
    str=null;//两种写法有区别,关于堆内存
    string.IsNullOrEmpty(str);
    
堆内存中有几个对象?
    既然是不可变的,那么多个字符串,结果相同的时候,就没必要每次都生成新的对象

    字符串拘留池(暂存池)

    由于有字符串拘留池的存在,如果代码中有大量的字符串的值相同
    那么他们都指向同一个对象,整个代码中只创建一个对象    
    
    char[] ch = { '1','2'};
    string str3 = "12";
    string str4 = new string(ch);//因为new了,所以会开创新的内存空间
    
    string str1 = "123";
    string str2 = "123";

    str1 += "哈哈哈";
    
===========================================
字符串的处理    
1、比较
    ->最简单的方法  ==
    ->Equals方法
        ->静态比较方法
            ->string.Equals(str1,str2,StringComparison.OrdinalIgnoreCase);
        ->非静态比较方法
            ->str1.Equals(str2,StringComparison.OrdinalIgnoreCase);    
    比较顺序
        ->比较每一位的Unicode码,比较规则(字典码)
        Console.WriteLine(25105);    ->输出  25105
        Console.WriteLine((char)25105);        ->输出    汉字"我"
    int string.Compare(string str1,string str2)
        str1 > str2   1
        str1 = str2   0
        str1 < str2   -1
2、修整
    Trim方法,修整字符串首尾空格,并将新的字符串返回
    Trim(params char[] chs),去除字符数组中出现的字符
        ->    string content1 = "[你好]";
            string content2 = "【你好】";
            char[] chs = { '[', '】' };
            Console.WriteLine(content1.Trim(chs));
            Console.WriteLine(content2.Trim(chs));
    TrimEnd 去掉右边的
    TrimStart 去掉左边的

3、检索
    增加
        Insert(插到哪里,什么东西);
    移除
        Remove();删除此字符串中从指定位置到最后位置的所有字符。
        Remove(int start,int count);从此实例中的指定位置开始删除指定数目的字符。
    查找
        Contains(“需要查找的字符串”);
        IndexOf()方法;string str = "abcdefgeefg";
                       int i = str.IndexOf('e', 9);

4、分割与合并
        分割
            string str = "I      am     a     student    !    I     am    studying     DotNet program.";
            第一种方法string[] strs = str.Split(' ', '!', '.');
            第二种方法string[] strs = str.Split(new char[] { ' ', '!', '.' }, StringSplitOptions.RemoveEmptyEntries);
        合并
            string[] strs = { "1", "2", "3", "4", "5", "6" };
            string s = string.Join("-", strs);
            
5、格式化
    string str = string.Format("错误信息是:{0},时间:{1}", ex.Message, DateTime.Now);
    Console.WriteLine(str);

==================================================
StringBuilder

常用方法Append、AppendLine、AppendFormat
        StringBuilder builder = new StringBuilder();
        builder.Append("1");
        builder.Append("2");

        builder.AppendLine("3");
        builder.Append("3\n");

        builder.AppendLine("4");

        builder.AppendFormat("{0}{1}{2}", "^", "_", "^");    
















转载于:https://www.cnblogs.com/wiewookahn/archive/2012/05/27/2520352.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值