1.c#中,字符串前加@表示按照@后面的字符赋值,避免转义字符。
如:(@"C:\Program Files\Tencent\Tencent.exe “)。在C#中”\“是转义符,所以如果当你写"c:\dos"时,C#会把”\d“当成转义符,所以加上@,C#就会认成"c:\dos”。
代码示例:
string testStr = @"C:\Program Files\Tencent\Tencent.exe ";
string testStr2 = "C:\\Program Files\\Tencent\\Tencent.exe ";
//如果不使用@,要写成"C:\\Program Files\\Tencent\\Tencent.exe "用两个\\代替\
Console.WriteLine(testStr);
Console.WriteLine(testStr2);
程序输出
参考:https://zhidao.baidu.com/question/325889503.html
2.C#中$符号的作用相当于对String.format()的简化
代码举例:
string name = "liu";
int age = 10;
//复杂麻烦的写法
string str1 = "my name is " + name + ",my age is " + age + ".";
//使用Format的写法
string str2 = string.Format("my name is {0},my age is {1}.", name, age);
//使用$语法糖的写法
string str3 = $"my name is {name},my age is {age}.";
//控制台的三个输出都相同
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str3);
参考:https://blog.csdn.net/lllll__/article/details/89505619
3.在C#中,object只是Object的一个别名,二者使用上没有区别
4.C# var和dynamic的用法和理解
var和dynamic的本质区别是类型判断的时间不同,前者是编译时,后者是运行时。
1.var在声明变量方面简化语法(只能是局部变量),在编译时交给编译器推断。
2.dynamic也是为简化语法而生的,它的类型推断是交给系统来执行的(运行时推断类型)。
3.var不能用于字段、参数等,而dynamic则可以。
4.var在初始化的时候就确定了类型。
5.dynamic可以用于方法字段、参数、返回值以及泛型参数,把动态发挥的淋漓尽致。
参考:https://blog.csdn.net/w200221626/article/details/52384829
5.C# => 是朗姆达表达式中的用法,
是指向的意思具体就是是把=>左边声明的变量带入到=>右边的表达式或者代码段里。一般在linq语句中