7 ответов:
посмотри Универсальные Списки.
расширение ответа Криса и Миголя с образцом кода.
через массив
Student[] array = new Student[2]; array[0] = new Student("bob"); array[1] = new Student("joe");использование общего списка. Под капотом класс List
использует массив для хранения, но делает это таким образом, что позволяет ему эффективно расти. 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();конечно, это имеет смысл только если размер массива не известен ни ex-ante. Если вы уже знаю размер вашего массива в какой-то момент программы лучше инициировать его как массив фиксированной длины. (Например, если вы извлекаете данные из результирующего набора, вы можете подсчитать его размер и динамически инициировать массив этого размера)
С уважением,
MJ
List<T>для строго типизированного илиArrayListесли у вас есть .NET 1.1 или любите бросать переменные.
использовать список выбора который на самом деле реализовать массив. Он принимает первоначально массив размера 4 и когда он заполняется, создается новый массив с его двойным размером и данные первого массива копируются во второй массив, теперь новый элемент вставляется в новый массив. Также имя второго массива создает псевдоним первого, так что он может быть доступен по тому же имени, что и предыдущий, и первый массив будет удален
этот ответ, кажется, ответ, который вы ищете почему я не могу это сделать: dynamic x = new ExpandoObject { Foo = 12, Bar = "двенадцать"}
читать про
ExpandoObjectздесь https://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject(v=vs. 110).aspxи
dynamicздесь https://msdn.microsoft.com/en-GB/library/dd264736.aspx
Пример Динамического Массива:
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();
Comments