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#优化

  • 相关阅读:
    《将博客搬至CSDN》
    java-FileUtils(复制文件夹、复制文件、字符串直接写入文件中)(新手)
    java-FileUtils(读取、判断、获取)-(新手)
    一.MySQL入门基础
    二.压缩指令的应用
    一.档案与目录管理
    四.mysql演示银行转账
    三.实例演示insert/update/delect更新数据库
    二.数据库游标对象cursor与实例
    一.数据库连接对象connection
  • 原文地址:https://www.cnblogs.com/nafio/p/9137474.html
Copyright © 2011-2022 走看看