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]);