1. 程式人生 > >C#學習筆記和技巧,不定期更新

C#學習筆記和技巧,不定期更新

C#基礎補充https://www.cnblogs.com/liulun/archive/2013/02/26/2909985.html

一、C#Linq的用法

 private void TestLinq()
    {
        string number = "123456";
        //求數字和
        number.Select(c => int.Parse(c.ToString())).Sum();
        Debug.Log(number.Select(c => int.Parse(c.ToString())).Sum());
        int[] vs = { 1, 2, 3, 4, 5, 6 };
        //求數字和
        Debug.Log(vs.Sum());
        //求平均值
        Debug.Log(vs.Average());
    }

二、經常引用的引數需要包裝起來,避免修改引數時需要修改很多直接引用引數的地方,
    而包裝引數只需要修改內部引數值,外界引用的是方法。
    比如播放指定動畫,我們可以使用
    string playAni="Growth";
    ani.Play(playAni);
    或者
    ani.Play("Growth");
    雖然第一種方式程式碼多一行,但如果有多處需要播放指定動畫的地方,第二種修改起來就很繁瑣,第一種就只需要修改引數名就行animation.Play("Walk");

三、C#中String跟string的“區別”(部分轉引用)

  string是c#中的類,String是.net Framework的類(在C# IDE中不會顯示藍色) C# string對映為.net Framework的String 如果用string,編譯器會把它編譯成String,所以如果直接用String就可以讓編譯器少做一點點工作。

  如果使用C#,建議使用string,比較符合規範 string始終代表 System.String(1.x) 或 ::System.String(2.0) ,String只有在前面有using System;的時候並且當前名稱空間中沒有名為String的型別(class、struct、delegate、enum)的時候才代表System.String string是關鍵字,String不是,也就是說string不能作為類、結構、列舉、欄位、變數、方法、屬性的名稱,而String可以。

  String是CLR的型別名稱(也算是關鍵字),而string是C#中的關鍵字。string在編譯時候C#編譯器會預設將其轉換為String,在這裡會多增加幾行轉換的程式碼。很多時候都是建議使用CLR的型別而不要使用C#的型別(這是專家的建議)。比如說還有:使用int的時候最好使用Int32等。很多時候都是一個習慣問題,規範問題。還有一個不同就是在VS中表現的顏色不一樣:String是綠色,string是藍色。