C# 新特性,新功能,新语法

Attribute

MADN的定义为:公共语言运行时允许添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型、字段、方法和属性等。Attributes和Microsoft .NET Framework文件的元数据保存在一起,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。

我们简单的总结为:定制特性attribute,本质上是一个类,其为目标元素提供关联附加信息,并在运行期以反射的方式来获取附加信息。具体的特性实现方法,在接下来的讨论中继续深入。

我理解的定制特性,就是为目标元素,可以是数据集、模块、类、属性、方法、甚至函数参数等加入附加信息,类似于注释,但是可以在运行期以反射的方式获得。定制特性主要应用在序列化、编译器指令、设计模式等方面。

attibute实例,是在编译期进行初始化,而不是运行期

定制特性常用于在运行期获得代码注释信息,以附加信息来优化调试。

 

"$"作用和用法

C#中$的用法:"$"是在C#6.0出现的一个新特性,其作用相当于对String.format()的简化。


string.format()需要自己在字符串中写占位符,在后面跟上参数。如果要格式化的参数比较多,写起来就比较恶心。 而用$符号,写法就简洁多了,我们可以直接在字符串的相应位置协商自己想要替换的参数就好了。
 

 string name = "Lixi";
 int age = 22;
 string str = string.Format("my name is{0}, I'm {1} years old",name,age);
 string str2 = $"my name is{name}, I'm {age} years old";

全局作用符::


比如说你在全局定义了一个变量str,然后在函数里面又定义了这个str名字的变量的,这个时候你要是在函数里面直接写str,那么就是访问的函数内部的变量的。无法访问外部变量的。
这是正常的现象的。但是如果你想访问外部变量的话,那么就可以使用::str来访问的。就不会是访问内部变量了。


@ 让转移字符"\"保持原意,不要转义,

如一个地址字符串  :string path="c:\abc\";
默认的"\"是作为转义来使用的,而不是一个真的斜杠字符串
所以这个地方要取到地址,正确的写法应该是:
string path=@"c:\abc\"; //这里的@让斜杠保持原意,不要转义
或者
string path="c:\\abc\\"; //不用@ 斜杠表示转义,所以要多加个斜杠

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值