zoukankan      html  css  js  c++  java
  • C#基础知识回顾

    值类型和引用类型

    值类型存在栈上,结构,枚举,数值类型

    引用类型存在堆上,数组,类,接口,委托

    把值类型存到引用类型中就是封箱,耗时


    引用类型中的值类型是存在堆上,不是栈上,但是作为参数传递时,还是会被copy一份,而不是引用

    局部变量的值类型存在栈中

    http://blog.csdn.net/onafioo/article/details/68961341


    关键字

    sealed:修饰类防止继承,修饰方法防止被复写

    params:修改函数的最后一个参数,用来传一个size不定的数组fun(params int[] b) 

    ref:控制参数以引用方式传递,func(ref int val)在函数内修改val会影响参数值。调用函数和定义函数都要有ref关键字

    out:指定所给的参数是输出参数,也指定为引用传递,与ref不同的是,ref变量传递前必须有初始值。调用函数和定义函数都要有out关键字

    as

    is


    数组

    数组是引用类型
    两种形式
    int[,,]   c#正常数组
    int[][][]  数组的数组,元素需要单独new,锯齿形数组


    结构体

    可以实现接口
    new的作用可以初始化数据,没初始化过数据不可用


    委托

    四种委托类型 

    http://blog.csdn.net/onafioo/article/details/49780591


    lambert表达式

    Action<int ,string>=(a,b)=>{..........}


    delegate int MyDel(int i,int j);

    MyDel del=(a,b)=>a+b;                  lambeda表达式方法

    MyDel del = delegate(int a,int b){return a+b;}

    MyDel del = new MyDel(funcA);


    空方法

    delegate MyDel();

    del = delagate(){...}

    del = ()=>{...}


    异步

    http://blog.csdn.net/onafioo/article/details/44356895


    协程

    http://blog.csdn.net/onafioo/article/details/71055295


    线程

    线程:

     static void Main(string[] args)
            {
                Thread t1 = new Thread(new ThreadStart(TestMethod));
                t1.Start();
               
            }
    
            public static void TestMethod()
            {
                Console.WriteLine("不带参数的线程函数");
            }


    事件

    Class Compony{
      public delegate void DeleFunc(int a);
      public event DeleFunc eventListener;
      public void DoEvent(){
        if(eventListener!=null){
           eventListerner(1);
        }
      }
    
      void Main(){
        Compony c = new Compony();
        c.eventListener+=funcA();
        c.DoEvent();
      }
      void funcA(int i){
          print("funca");
      }
    
    }


    泛型


    反射

    http://blog.csdn.net/onafioo/article/details/48974737


    常用数据结构及其效率

    List<>相关lambda表达式

    网络


    C#优化

  • 相关阅读:
    CentOS 8下安装hadoop-3.3.0
    c# log4net安装时在AssemblyInfo中提示找不到log4net解决办法
    C#自定义类型数组排序
    C#中的隐藏方法
    VBA 按列查找小工具类似lookUp函数
    欢迎来到网络对抗路 实验八 Web综合
    利用GMSSL中ZUC算法实现对序列密码的结构性检测(代码)
    第二十一章学习笔记
    欢迎来到网络对抗路 实验七 网络欺诈防范
    数据转换考试qwq
  • 原文地址:https://www.cnblogs.com/nafio/p/9137474.html
Copyright © 2011-2022 走看看