使用AddRange将一列2D数组添加到列表框中

时间:2013-02-03 23:31:15

标签: c# arrays winforms listbox addrange

我有一个2D数组:

string[,] table = new string[100,2];

我希望将表[,0]添加到列表框中,就像那样

listbox1.Items.AddRange(table[,0]);

这样做的诀窍是什么?

编辑:我想知道是否可以使用AddRange

来做到这一点

1 个答案:

答案 0 :(得分: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));