C#的一些小知识

Posted ligo-z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#的一些小知识相关的知识,希望对你有一定的参考价值。

1.var关键字

var是一个弱类型,可以替代任何类型

有以下四个特点

1.必须在定义时初始化

var s="adcd";  //可以
var s;
s="abcd";  //不可以

2.初始化完成吼,不能给其赋类型不同的值

3.var要求是局部变量

4.使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。

2.ref和out的区别

注:在C#中,方法的参数传递有四种类型:传值(by value),传址(by reference),输出参数(by output),数组参数(by array)。传值参数无需额外的修饰符,传址参数需要修饰符ref,输出参数需要修饰符out,数组参数需要修饰符params。

1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。

2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。

3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

两个的区别:ref是有进有出,out是只出不进。

3.委托

声明委托

//delegate <return type> <delegate-name><parameter list>
public delegate int MyDelegate (string s);

实例化委托

public delegate void printString(string s);
...
printString ps1 = new printString(WriteToScreen);
printString ps2 = new printString(WriteToFile);

委托的多播

使用"+"运算符进行合并 一个合并委托调用它所合并的两个委托。只有相同类型的委托可被合并

 // 创建委托实例
         NumberChanger nc;
         NumberChanger nc1 = new NumberChanger(AddNum);
         NumberChanger nc2 = new NumberChanger(MultNum);
         nc = nc1;
         nc += nc2;
         // 调用多播
         nc(5);
   //调用nc时会同时调用nc1和nc2

4.foreach不支持在循环中添加删除操作

以上是关于C#的一些小知识的主要内容,如果未能解决你的问题,请参考以下文章

C#一些小技巧

C#,一些非常简单但应该知道的知识点

有关python的一些小知识

数据库一些小知识

python安装过程中一些小知识点

拿不到想要的offer,只缘身在CV中,关于一些面试小知识