如何将ListBox.Items.AddRange与二维数组一起使用

本文关键字:二维数组 一起 AddRange ListBox Items | 更新日期: 2023-09-27 18:22:02

这里是数组:

// 2D array of strings.
string[,] calendar2D_Array = new string[33,13];

然后我用很多字符串初始化数组。。。

我正试图让我的列表框使用数组:

private void frmCalender_Load(object sender, EventArgs e)
{
    listBoxCalender.Items.AddRange(calendar2D_Array);
}

编译器现在声明:无法从"字符串[]"转换为"对象[]"

如果它是一维数组,就不会有问题。。。我应该如何使它与二维数组一起工作?

如何将ListBox.Items.AddRange与二维数组一起使用

您可以使用LINQ来压平您的2D阵列:

Enumerable.Range(0,33*13).Select(i => calendar2D_Array[i/13,i%13]).ToArray()

Enumerable.Range(0,33*13).Select(i => calendar2D_Array[i%33,i/33]).ToArray()

这适用于将一维整数数组添加到Listbox控件。AddRange比使用循环(即Listbox1.items.add(iArray(i)))要快得多

ReDim Preserve iArray(iCount - 1) ' Number of items added to Array
ListBox1.BeginUpdate() 
ListBox1.Items.AddRange(iArray.Cast(Of Object).ToArray)
ListBox1.EndUpdate()