这是数组:
// 2D array of strings.
string[,] calendar2D_Array = new string[33,13];
然后我用很多字符串初始化数组......
我试图让我的列表框使用数组:
private void frmCalender_Load(object sender, EventArgs e)
{
listBoxCalender.Items.AddRange(calendar2D_Array);
}
编译器现在声明: 无法从'string [,]'转换为'object []'
如果它是一个单维数组,就没有问题......我该如何才能让它与二维数组一起工作?
答案 0 :(得分:4)
您可以使用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()
答案 1 :(得分:-1)
这适用于将整数的一维数组添加到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()