Добавьте один столбец 2D-массива в список с помощью AddRange
У меня есть один 2D-массив:
string[,] table = new string[100,2];
и я хочу добавить таблицу [,0] в список, что-то вроде этого
listbox1.Items.AddRange(table[,0]);
Какой трюк для этого?
Изменить: я хочу знать, если это возможно сделать с помощью AddRange
1 ответ
Решение
Для удобства чтения вы можете создать метод расширения для массива.
public static class ArrayExtensions
{
public static T[] GetColumn<T>(this T[,] array, int columnNum)
{
var result = new T[array.GetLength(0)];
for (int i = 0; i < array.GetLength(0); i++)
{
result[i] = array[i, columnNum];
}
return result;
}
}
Теперь вы можете легко добавлять диапазоны в виде фрагментов из массива. Обратите внимание, что вы создаете копию элементов из исходного массива.
listbox1.Items.AddRange(table.GetColumn(0));