C #의 동적 배열
C #에서 동적 배열을 만드는 방법이 있습니까?
Generic Lists를 살펴보십시오 .
코드 샘플로 Chris와 Migol의 답변을 확장합니다.
어레이 사용
Student[] array = new Student[2];
array[0] = new Student("bob");
array[1] = new Student("joe");
일반 목록 사용. 내부적으로 List <T> 클래스는 스토리지에 배열을 사용하지만 효율적으로 성장할 수있는 방식으로 사용합니다.
List<Student> list = new List<Student>();
list.Add(new Student("bob"));
list.Add(new Student("joe"));
Student joe = list[1];
때때로 일반 배열이 더 편리하기 때문에 일반 목록보다 선호됩니다 (예를 들어 비용이 많이 드는 계산-숫자 대수 응용 프로그램 또는 R 또는 Matlab과 같은 통계 소프트웨어와 데이터 교환을위한 더 나은 성능).
이 경우 목록을 동적으로 시작한 후 ToArray () 메서드를 사용할 수 있습니다.
List<string> list = new List<string>();
list.Add("one");
list.Add("two");
list.Add("three");
string[] array = list.ToArray();
물론 이것은 배열의 크기를 알 수 없거나 사전에 고정 된 경우에만 의미가 있습니다. 프로그램의 어느 지점에서 배열의 크기를 이미 알고 있다면 고정 길이 배열로 시작하는 것이 좋습니다. (예를 들어 ResultSet에서 데이터를 검색하는 경우 크기를 계산하고 해당 크기의 배열을 동적으로 시작할 수 있습니다.)
List<T>
강력한 형식의 ArrayList
경우 또는 .NET 1.1이 있거나 변수를 캐스팅하는 것을 좋아하는 경우.
동적 개체로이 작업을 수행 할 수 있습니다.
var dynamicKeyValueArray = new[] { new {Key = "K1", Value = 10}, new {Key = "K2", Value = 5} };
foreach(var keyvalue in dynamicKeyValueArray)
{
Console.Log(keyvalue.Key);
Console.Log(keyvalue.Value);
}
실제로 배열을 구현 하는 배열 목록 을 사용하십시오 . 처음에는 크기 4의 배열을 사용하고 가득 차면 두 배 크기의 새 배열이 생성되고 첫 번째 배열의 데이터가 두 번째 배열에 복사되고 이제 새 항목이 새 배열에 삽입됩니다. 또한 두 번째 배열의 이름은 first라는 별칭을 생성하여 이전과 동일한 이름으로 액세스 할 수 있고 첫 번째 배열이 삭제됩니다.
동적 배열 예 :
Console.WriteLine("Define Array Size? ");
int number = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter numbers:\n");
int[] arr = new int[number];
for (int i = 0; i < number; i++)
{
arr[i] = Convert.ToInt32(Console.ReadLine());
}
for (int i = 0; i < arr.Length; i++ )
{
Console.WriteLine("Array Index: "+i + " AND Array Item: " + arr[i].ToString());
}
Console.ReadKey();
이 대답은 당신이 찾고있는 대답 인 것 같습니다. 왜 이렇게 할 수 없습니까? dynamic x = new ExpandoObject {Foo = 12, Bar = "twelve"}
ExpandoObject
여기 https://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject(v=vs.110).aspx 에 대해 읽어보십시오.
And the dynamic
type here https://msdn.microsoft.com/en-GB/library/dd264736.aspx
참고URL : https://stackoverflow.com/questions/594853/dynamic-array-in-c-sharp
'Programing' 카테고리의 다른 글
index.php가 기본적으로로드되지 않음 (0) | 2020.08.15 |
---|---|
csv에 c # 데이터 테이블 (0) | 2020.08.15 |
SQL Server가 '잘못된 열 이름'을보고하지만 열이 있고 쿼리가 Management Studio를 통해 작동합니다. (0) | 2020.08.15 |
vim이 파일을 html로 구문 강조하도록 강제하는 방법은 무엇입니까? (0) | 2020.08.15 |
Django Admin에서 필드 크기 조정 (0) | 2020.08.15 |