zoukankan      html  css  js  c++  java
  • 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不支持在循环中添加删除操作

    作者:Ligo丶

    出处:https://www.cnblogs.com/Ligo-Z/

    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。

  • 相关阅读:
    环境搭建:Vue环境搭建和项目初始化(windows)
    文件扩展关联命令
    关闭任务栏上右键的打开历史记录
    CDN基本原理和功能浅析
    制作支持UEFI启动的原装系统安装盘
    文件被占用如何查看
    BIOS和CMOS的区别
    PKI公钥基础设施简介
    网络安全通信https工作原理
    常见加密算法简介
  • 原文地址:https://www.cnblogs.com/Ligo-Z/p/11256405.html
Copyright © 2011-2022 走看看