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

  • 相关阅读:
    C# 实现将 PDF 转文本的功能
    推荐大家使用的CSS书写规范、顺序
    Android 应用开发者必看的 9 个 Tips
    网站统计中的数据收集原理及实现
    JSON劫持漏洞攻防原理及演练
    巧妙使用 CSS3 的褪色和动画效果制作消息提醒框
    20条常见的编码陷阱
    11 个最佳 jQuery 滚动条插件
    JavaScript客户端MVC 框架综述
    20个初学者实用的CSS技巧
  • 原文地址:https://www.cnblogs.com/FannyChung/p/csharpbasic.html
Copyright © 2011-2022 走看看