C#学习总结

来源:互联网 发布:美国博士申请条件 知乎 编辑:程序博客网 时间:2024/06/03 18:20
函数 Convert.ToInt32() 把用户输入的数据转换为 int 数据类型,因为 Console.ReadLine() 只接受字符串格式的数据。


后缀U 和 L 分别表示 unsigned 和 long。


\b 退格键
\\ \ 字符
\f 换页符
@"" 里面全部为字符,转义字符也不例外


const  常量


^运算符  0 ^ 1 得 1 1 ^ 1 得 00 ^ 0 得 0 1 ^ 0 得 1


a<<n    数值上相当于a的十进制数乘以2的n次方 a>>n    数值上相当于a的十进制数除以2的n次方


sizeof() 返回数据类型的大小。
typeof() 返回 class 的类型。
is 判断对象是否为某一类型。
as 强制转换,即使转换失败也不会抛出异常。


ref 关键字声明引用参数
out 输出参数 


int? num1 = null;  可空类型(Nullable)  输出为空
?? 合并运算符 如果第一个操作数的值为 null,则运算符返回第二个操作数的值,否则返回第一个操作数的值。num2=num1(null) ?? 5.34 返回5.34


赋值一个数组变量到另一个目标数组变量中。在这种情况下,目标和源会指向相同的内存位置


params public int AddElements(params int[] arr)app.AddElements(512, 720, 250, 567, 889);


类和结构有以下几个基本的不同点:
类是引用类型,结构是值类型。
结构不支持继承。
结构不能声明默认的构造函数。


enum days{sun,mon.tue,wen,thu,fri,sat};


sealed 密封类 当一个类被声明为 sealed 时,它不能被继承。抽象类不能被声明为 sealed。


继承类中的重写虚函数需要声明关键字 override


使用点(.)运算符访问嵌套的命名空间的成员


特性:
[Conditional("DEBUG")]
[Obsolete("Don't use OldMethod, use NewMethod instead", true)]老方法调用报错,提示Don't use OldMethod, use NewMethod instead


// 声明类型为 string 的 Code 属性
public string Code
{
   get
   {
      return code;
   }
   set
   {
      code = value;
   }
} C#特性Property


声明了委托类型,委托对象必须使用 new 关键字来创建
引用的方法具有与委托相同的参数和返回类型
委托类似于其他一些语言中的函数指针概念


一个代码块使用 unsafe 修饰符标记时,C# 允许在函数中使用指针变量
使用 ToString() 方法检索存储在指针变量所引用位置的数据
需要使用指针变量访问数组数据,使用 fixed 关键字来固定指针
通过stackalloc在堆栈上分配内存,因为在堆栈上分配的内存不受内存管理器管理,因此其相应的指针不需要固定