Visual C# 简介

1、命名空间的别名:using A = NamespaceZ.NamespaceY.NamespaceX;  using指令不会出现累积现象,而是独立计算的
  extern alias AssemblyName ,使用的时候 为AssemblyName::Namespace.MethodName
2、Main入口点,如下为四种合法签名:
  static void Main(){}
  static int Main() {}
  static void Main(string[] args) {}
  static int Main(string[] args) {}
  Main必须是静态的,而且是私有的,尽管没有要求这么做
3、当引用类型不再需要的时候,把它们设置为null
4、在值类型声明中添加类型修饰符?就可以声明一个可空类型,如下所示
  double? variable1 = null
  计算可空类型
  double variable2 = variable1 ?? 0
5、C#可以使用的预处理命令
  #define  #undef  声明式预处理器指令,用来分别定义预处理符号和取消预处理器符号的定义,必须放在任何源代码之前
  语法:#define  identifier  #undef  identifier
  #if  #else  #elif  #endif  条件式预处理器指令,条件式预处理器指令是以#if开始,#endif结束。介于中间的#else和#elseif是可选的
  #line 修改编译器错误和错误报告中的行数
  #line  line_number source_filename
  #line  default 取消前面设置的任何#line指令,将行号设为自然行号
  #line  hidden   与行号无关,在单步调试程序时非常有用
  #error  #warning  诊断指令,#error指令阻止程序顺利通过编译;#warning指令不会阻止程序顺利通过编译,除非设置“将警告视为错误”
  语法:#error error_message  #waring  error_mesaage
  #region  #endregion  
  #pragma  禁用和启用编译警告  
  #pragma  waring disable  warning_list
  #pragma  warning  restore  warning_list
6、短路计算&&和||
7、嵌套类
  私有的嵌套类只能在外部类的内部实例化。通过嵌套类的构造函数提供外部对象的访问,即给内部类的构造函数传递一个外部对象的引用作为参数,然后,在嵌套类的内部就可以使用该引用来访问外部对象的实例成员
8、按位枚举
  使用按位与运算符确认一个标记是否存在

原文地址:https://www.cnblogs.com/changweihua/p/2167403.html