c#语言特性

备忘一下,C#语言特性方面比较独特的地方。


1. 变量推断:编译器可以根据变量的初始值推断变量类型并使用。

var name = “bugs”;


2. 字段和局部变量的作用域冲突:类的成员变量或者静态变量都看作是字段,函数里的变量堪称局部变量,两者重名不冲突。


 
class ScopeTest
{
     static int j = 20;

     public static void Main()
     {
           int j = 30;
     }
}


3. const变量总是静态的,不用加static声明。


4. 变量传递方式就两种类型:值传递(内建的13种类型,自定义结构),引用传递(string, object, 以及自己定义的class)


5. foreach循环迭代不允许改变迭代变量的值,编译会报错。


6. #warning,#error 输出编译分支不正确的提示

#region,#endregion 标记代码块

#pragma 抑制或者还原编辑警告

#pragma warning disable 169
public class Test
{
}
#pragma warning restore 169


7. 属性,属性可自动实现

public class Test
{
      private int intValue;
      public int IntValue
      {
             set
             {
                   intValue = value;
             }
             get
             {
                   return intValue;
             }
      }
}


8. ref: 表示传入参数,传入前必须初始化,并且带回修改的值

out: 表示传出参数,传出前必须修改


9. 只读字段、匿名类型


10. partial 部分类,可以把类的定义实现拆分在多个文件中,防止文件过大


11. 添加static在类名前,静态类,无法创建实例


12. 扩展方法



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值