如何将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);
}
编译器现在声明:无法从"字符串[,]"转换为"对象[]"
如果它是一维数组,就不会有问题。。。我应该如何使它与二维数组一起工作?
您可以使用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()