C# 컬렉션 및 객체 초기화기 사용

7730 단어 C#

대상 및 집합 초기화기


객체 초기화기
Student stu= new Student(){ Id = 1, Name ="YJingLee", Age = 22 };
 
대상에 값을 부여하는 것이 더욱 편리하다
집합 초기화기
List num = new List(){ 0, 1, 2, 6, 7, 8, 9 };
List< Student > stus= new List

newStudent{Id=1,Name="YJingLee",Age=22},
new Student{Id=2,Name="XieQing",Age=25},
};
 ===================================================================================================================================
객체를 작성할 때는 작성한 객체의 구성원이나 새로 작성한 컬렉션의 요소를 초기화하는 데 사용되는 객체 초기화기 또는 컬렉션 초기화기를 포함할 수 있습니다.초기화기를 사용하면 우리의 코드를 더욱 간결하게 할 수 있다.

객체 초기화기


이전에 만약 하나의 클래스를 정의하고 클래스를 실례화한다면 우리는 다음과 같이 할 것이다
public class oec2003
{
    int x, y;
    public int X
    {
        get { return x; }
        set { x = value; }
    }
    public int Y
    {
        get { return x; }
        set { x = value; }

    }

}
oec2003 o=new oec2003();
o.X=2003;
o.Y=2004;

객체 초기화기 사용
public class oec2003
{
    int x, y;
    public int X
    {
        get { return x; }
        set { x = value; }
    }
    public int Y
    {
        get { return x; }
        set { x = value; }
    }
}

var o=new oec2003{X=2003,Y=2004};

대상 초기화기는 컴파일러를 이용하여 대상에서 대외적으로 보이는 필드나 속성에 대해 순서대로 값을 부여하고 컴파일러나 은식으로 구조 함수를 호출하여 필드나 속성에 대한 값을 하나 또는 여러 개로 부여할 수 있다.

집합 초기화기


집합 초기화기는 초기화기의 요소를 순서대로 호출합니다. 다음은 집합 초기화기의 예입니다
List<int> num = new List<int> { 0, 1, 2, 6, 7, 8, 9 };

집합 초기화기를 사용하는 대상의 유형은 시스템이어야 합니다.Collections.Generic.ICollections 인터페이스는 확인된 T를 지정합니다.컬렉션 초기화기는 지정된 각 요소에 대해 차례대로 ICollection을 호출합니다.Add(T).한 사람의 개인 정보를 기록하는 유형이 있다
public class Oec2003Info
{
    string name;
    int age;
    List<string> phoneNumbers = new List<string>();

    public string Name
    {
        get { return name; }
        set { name = value; }
    }
    public string Age
    {
        get { return age; }
        set { age = value; }
    }
    public List<string> PhoneNumbers
    {
        get { return phoneNumbers; }
    }
}

이전 방식
var oec2003infos = new List();

var tmp1= new Oec2003Info();
tmp1.Name = "oec2003";
tmp1.Age=100;
tmp1.PhoneNumbers.Add("
tmp1.PhoneNumbers.Add("1592********");
Oec2003Info.Add(tmp1);

var tmp2 = new Oec2003Info();
tmp2 .Name = "oec2003";
  tmp2.Age=100;
tmp2.PhoneNumbers.Add("1593********");
tmp3.PhoneNumbers.Add("1594********");
Oec2003Info.Add(tmp2);

객체 초기화기 사용
var oec2003infos= new List
{
 new Oec2003Info
 {
        Name = "oec2003",
        Age=100;
        PhoneNumbers={"1591********","1592**********"}

    },

 new Oec2003Info
 {
        Name = "oec2003",
        Age=100;
        PhoneNumbers = { "1593********","1594*********"}

    }

};

좋은 웹페이지 즐겨찾기