C#——小问题汇总(1)

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语句中

发布了68 篇原创文章 · 获赞 12 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_35077107/article/details/104275882