张磊(Avraber)

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1.StringBuilder
-> 由于string的不变性,效率十分恐怖
-> 使用StringBuilder
-> 是一个拼接字符串的一个工具
-> 常用方法
-> Append
-> AppendLine
-> ApplendFormat
-> 使用时还是要用ToString()方法
  class Program
    {
        static void Main(string[] args)
        {
            string[] temps = { "24214", "asdas414", "412fg" };
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < temps.Length; i++)
            {
                // str += temps[i];
                sb.Append(temps[i]);    //进行拼接,结果为24214asdas414412fg
            }

            sb.AppendLine("123");        //结果为123
            sb.AppendLine("456");                456

            sb.AppendFormat("{0}{1}{2}={3}\n", 1, "+", 2, 3);    //结果为1+2=3 ,提供转行\n
            sb.AppendFormat("{0}{1}{2}={3}", 1, "+", 2, 3);      //1+2=3
            Console.WriteLine(sb.ToString());
            Console.WriteLine("拼接完成");
            Console.ReadKey();
        }
    }

2.垃圾回收机制
.Net应用程序作为一个托管的运行机制,CLR里面有一个及其重要的部分,就是垃圾回收
数据保存在内存时,有的数据被废弃了,程序已经进行了销毁,但数据还在占用内存,这时候就需要对这些不会
再使用得数据进行垃圾回收
在内存中,垃圾回收系统会在内存中分配三块区域,称为0代,1代,2代,2代占用内存最大,0代最小,数据先存放在
0代,当0代数据满了时,系统会对0代区域中的数据进行整理,然后把还用的数据放在1代中,1代再满的话,经过类似过程,
数据到了2代,2代满了则系统报错。
数据再被回收时,会产生大量数据碎片,这时,系统会先对这些碎片进行处理,然后再存放在下一代区域中。

3.编码Encoding
常用编码有:  Ascii码(7个二进制位)
             unicode(2个字节)
             UTF - 8
             ANSI
             Unicode(大,小,UTF-8)
下面代码可以显示所以的编码的信息
            EncodingInfo[] ecodes = Encoding.GetEncodings();
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < ecodes.Length; i++)
            {
                sb.AppendFormat("{0}\t{1}\t{2}\r\n", ecodes[i].CodePage, ecodes[i].DisplayName, ecodes[i].Name);
            }

            File.WriteAllText(@"path(指定一个txt文本的路径)",sb.ToString());

4.索引器
定义自己的类,添加索引,可以用中括号对类进行访问, // 索引器就是一个带有参数的属性
索引的定义
   int[] nums = { 1321,24, 342, 442, 54, 611, 742, 842 , };
        public int this[int index]
        {
            get {return nums[index];}
            set { nums[index] = value; }
        }
MyClass m = new MyClass();
Console.WriteLine(m[1]);

posted on 2012-07-04 18:07  张磊(Avraber)  阅读(741)  评论(0编辑  收藏  举报