zoukankan      html  css  js  c++  java
  • C# 基础(更新中)

    Data Structure

    There're two types of variables in C#, reference type and value type.
    Enum:

    enum Color{
    Red=0,
    Green=1
    }
    
    //equals to 
    enum Color{
    Red,//start from 0 as default
    Green
    }
    

    int to enum:(Color)val

    Arrays and Collections

    Array

    declare array:

    new int[10]
    new int[10]{xx,xx.....};
    new int[]{aa,aa};
    

    Collection

    List<string> theList=new List<string>();//can use value type here, not only reference type
    theList.Count;//size of the list
    

    class

    when calling same name class with different namespace, it will use class of same namespace first, then System namespace.

    fields and properties

    1. can't use var to declare fields like var count=0,must use int count=0
    2. const is static, so we can't use them together like public static const int count=0
    3. rules of naming fields and property: first letter with uppercase is public, first letter with lowercase is private.

    Auto-implemented property: remove their private fields.
    initiate with default: public MyClass val {get;set;} = new MyClass();

    anonymous type

    for the cases:

    • only use in one function and not need for other functions
    • only exists for only short time, and will be stored to other places

    var val=new {name='Alex', age=12};

    Extensions

    class TheExtensionClass{
        public int toInt(this string value){
            return int.Parse(value);
        }
    }
    
    //so that the function can be called on string
    str.toInt();
    

    function

    out, in and ref

    if use out/in/ref for value type variable, then it will convert to reference type.
    must initiate out variable in the function before use it.

    default parameter and named parameter

    Default parameter

    • must declared after non-default parameter
    • if we don't want to give value to the first default parameter but want to give the second default parameter, we can't do this without named parameter

    Named parameter:
    can call the function and break the sequence of parameters, especially for default parameter

    special function:lambda

    for the cases:

    • short function
    var res=theList.Find(MyFunc);
    boolean MyFunc(Student aStudent){
        return studentName="abc";
    }
    
    theList.Find(student=>{
        return studentName="abc";
    });
    
    theList.Find(student=> studentName="abc");
    

    Event and asynchronous programming

    Event

    for the cases:
    when executing monitor function, it will automatically execute the monitored function

    1. declare Action variable in class A:Action action
    2. binding the action variable to f2 (monitored function) of class B:action+=f2
    3. trigger the event: in f3(monitor function) call the action with action();
      ### asynchronous programming
      like event
      RequestSupport(CallBackFunc)

    Exception and log

    Exception

    try{
    }catch{
    }
    try{
    }catch(FormatException){
    }
    try{
    }catch(FormatException e){
        print e;
        print e.Message;
    }
    

    Log

  • 相关阅读:
    js 自定义方法 实现停留几秒 sleep
    java 通过sftp服务器上传下载删除文件
    iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
    iOS JavaScriptCore使用
    UIWebView和WKWebView的使用及js交互
    WKWebView的新特性与使用
    OC与JS的交互详解
    iOS开发支付集成之微信支付
    iOS开发之支付宝集成
    React-Native学习指南
  • 原文地址:https://www.cnblogs.com/FannyChung/p/csharpbasic.html
Copyright © 2011-2022 走看看