1. Array의 공통 속성인 Length는 요소의 개수를 반환합니다. LongLength는 요소의 개수가 int 형식의 범위를 초과할 때 사용됩니다. Rank는 배열의 차원을 반환합니다.
2. Array 클래스는 추상 클래스이므로 생성자를 사용하여 배열을 만들 수 없습니다.
하지만 그것은 가능하다
일반 사본을 클립보드 인쇄로 보시겠습니까?
배열 iArray = new int[] { 1, 2, 3, 4 };
for (int i = 0; i < iArray.Length; i++)
{
Console.WriteLine(iArray.GetValue(i));
}
배열 iArray = new int[] { 1, 2, 3, 4 };
for (int i = 0; i < iArray.Length; i++)
{
Console.WriteLine(iArray.GetValue(i));
}
또는 정적 메서드 CreateInstance를 사용합니다. 특히 배열 요소 유형을 미리 알 수 없는 경우에는 다음과 같이 배열을 정의할 수 있습니다.
SetValue 메서드는 설정에 사용되고 GetValue 메서드는 읽기에 사용됩니다.
일반 사본을 클립보드 인쇄로 보시겠습니까?
배열 array = Array.CreateInstance(typeof(string), 3);
array.SetValue("톰", 0);
array.SetValue("잭", 1);
array.SetValue("청구서", 2);
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array.GetValue(i));
}
배열 array = Array.CreateInstance(typeof(string), 3);
array.SetValue("톰", 0);
array.SetValue("잭", 1);
array.SetValue("청구서", 2);
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array.GetValue(i));
}
※이 방법은 다차원 배열을 만드는 데에도 사용할 수 있습니다.
3. 배열을 복사하려면 Clone() 메서드를 사용합니다.
배열 요소가 값 유형인 경우 모든 값이 복사되며,
배열 요소가 참조 유형인 경우 참조를 복사합니다.
※ 참조 유형이 포함된 배열의 전체 복사본이 필요한 경우 배열을 반복하고 새 객체를 생성해야 합니다.
참조 유형 복사를 설명하려면 다음 클래스를 참조하세요.
일반 사본을 클립보드 인쇄로 보시겠습니까?
공개 클래스
{
공개 문자열 FirstName { 설정 }
공개 문자열 성 { 설정 }
공개 개인(문자열 이름, 문자열 성)
{
//파라미터가 클래스의 멤버와 이름이 같은 경우 클래스 멤버를 참조하기 위해 사용합니다. (개인적으로는 이 방법으로 사용하지 않는 것이 좋습니다.)
this.FirstName = 이름;
this.LastName = 성;
}
//ToString 클래스를 다시 작성합니다.
공개 재정의 문자열 ToString()
{
return string.Format("{0} {1}", FirstName, LastName);
}
}
수업 프로그램
{
정적 무효 Main(string[] args)
{
사람[] people1 = 새로운 사람[2];
person1[0] = new Person("톰", "린");
person1[1] = new Person("잭", "레이더");
Person[] people2 = person1.Clone() as Person[];
person2[0].FirstName = "복사 2";
//소스 배열 복사 호출
Console.WriteLine(persons1[0].FirstName);
//결과는 Tom이 아닌 copy 2입니다. Clone 메소드는 참조만 복사하는 것을 볼 수 있습니다.
Console.Read();
}
}
공개 클래스
{
공개 문자열 FirstName { 설정 }
공개 문자열 성 { 설정 }
공개 개인(문자열 이름, 문자열 성)
{
//파라미터가 클래스의 멤버와 이름이 같은 경우 클래스 멤버를 참조하기 위해 사용합니다. (개인적으로는 이 방법으로 사용하지 않는 것이 좋습니다.)
this.FirstName = 이름;
this.LastName = 성;
}
//ToString 클래스를 다시 작성합니다.
공개 재정의 문자열 ToString()
{
return string.Format("{0} {1}", FirstName, LastName);
}
}
수업 프로그램
{
정적 무효 Main(string[] args)
{
사람[] people1 = 새로운 사람[2];
person1[0] = new Person("톰", "린");
person1[1] = new Person("잭", "레이더");
Person[] people2 = person1.Clone() as Person[];
person2[0].FirstName = "복사 2";
//소스 배열 복사 호출
Console.WriteLine(persons1[0].FirstName);
//결과는 Tom이 아닌 copy 2입니다. Clone 메소드는 참조만 복사하는 것을 볼 수 있습니다.
Console.Read();
}
}
3. Array 클래스는 또한 배열 요소의 버블 정렬인 Sort 메소드를 구현합니다.
간단한 배열의 경우 직접 정렬할 수 있습니다.
Array.Sort(iArray); 여기서 iArray는 int 배열입니다.
-