C# in Depth 읽기 노트 3: C#3 기능

4248 단어 depth
1. 암시적 유형
var a=new Dictionary>();코드를 간소화하고 가독성을 강화할 수 있다.
2. 초기화 단순화
(1) 단순 속성 설정
 Person tom1= new Person(){Name="Tom", Age=17}; 
(2) 포함된 객체에 대한 속성 설정
 Person tom2=new Person()
{ Name="Tom", Home={Country="china",Town="Tangshan"}(Home , ) };

 
새 키워드는 대상을 초기화하는 데 사용되며, Home 속성에 대한 값은 새 키워드를 사용하지 않습니다. 새 Home 대상이 아니라 새 Person () 에서 새로 만들었기 때문입니다. (아래 Friend 집합은 동일합니다.)
(3) 집합 초기화 목록
Dictionary<string,int> nameMap=new Dictionary<string,int>

{

     {"holly", 34},

     {"matt",20}

}
Person tom = new Person

{

    Name = "Tom",

    Age = 9,

    Home = { Town = "Reading", Country = "UK" },

    Friends =

    {

        new Person { Name = "Alberto" },

        new Person("Max"),

        new Person { Name = "Zak", Age = 7 },

        new Person("Ben"),

        new Person("Alice")

        {

               Age = 9,

               Home = { Town = "Twyford", Country = "UK" }

        }

    }

};

 
3.스텔스 형식의 그룹
MyMethod(new string[]{"holly", "Tom"})는 MyMethod(new []{"holly", "Tom"} 등과 같습니다.
4. 익명 유형
주어진 프로그램 집합에서 같은 수량, 같은 명칭과 유형의 속성을 가지며, 속성이 같은 순서를 가진 익명 유형은 같은 유형이다.
익명 형식의 속성과 필드는 읽기만 합니다.
5. 확장 방법
빈 인용은 확장 방법을 호출할 수 있습니다. (예를 들어 IsNullOrEmpty (this string a) 확장 방법을 새로 만들 수 있습니다.)
groupby는 새로운 집합을 생성하지 않고, 교체된 순서만 바꿉니다.
6.linq
let 자구는 select 방법으로 변환되어 새로운 익명 형식을 생성합니다.
join 왼쪽의 서열은 여전히 흐름 처리를 사용하고 오른쪽은 버퍼 처리를 사용합니다.

좋은 웹페이지 즐겨찾기