• 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

  • 相关阅读:
    速达5000出现计算成本数据溢出的问题
    速达软件 移动端 App 功能说明
    无法打开物理文件 操作系统错误 5: 5(拒绝访问。) 问题解决
    速达软件开发版使用技巧-销售开单单据打印格式设计
    开发版速达软件如何进行有效授权
    速达软件 移动端 App 下载试用
    速达软件二次开发-试用版本下载,欢迎合作
    速达软件开发版使用技巧-每页固定行样式报表设计
    Cause: org.postgresql.util.PSQLException: 栏位索引超过许可范围:13,栏位数:12
    springboot 开启事务回滚
  • 原文地址:https://www.cnblogs.com/FannyChung/p/csharpbasic.html
Copyright © 2020-2023  润新知