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*********"}
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지
Evergreen
.Net Framework SDK 4.8
VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
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 };
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*********"}
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.