1,定义逐字字符串(字符串前加@),就是保留原有字符创的所有格式,转义字符\会失效,是什么就显示什么。
//下面的字符串被逐字输出,所有的转义字符都被显示出来了
Console.WriteLine(@"C:\MyApp\bin\Debug");
//使用逐字字符串,空格和换行符被保留
string myLongString = @"This is a very
vary
very
long string";
Console.WriteLine(myLongString);
2,String数据类型为引用类型,但相等性操作符已经被重定义为比较字符串对象的值,而不是内存中他们引用的对象。
static void StringEquality()
{
string s1 = "Hello!";
string s2 = "Yo!";
Console.WriteLine("s1==s2:{0}", s1 == s2);//false
Console.WriteLine("s1==Hello!:{0}", s1 == "Hello!");//true
Console.WriteLine("s1.Equals(s2):{0}", s1.Equals(s2));//false
Console.WriteLine("Yo.Equals(s2):{0}", "Yo!".Equals(s2));//true
}
3,checked和unchecked可以强制检查和不检查数据溢出
4,var不是关键字