我有以下C#List:
List<Response> listAllData = new List<Response>();
listAllData.Add(new Response() {
strId = propResponse.strId,
strName = propResponse.strName
});
然后我将其转换为数组:
object[] array2 = listAllData.ToArray();
但是当我尝试使用以下方法将数据写入范围时
rngValues.Value = array2;
我收到错误
HRESULT的异常:0x800A03EC
我(合理地)确定这是b / c,结果array2
实际上不是2D多维数组,而是数组数组。
所以我的问题是......如何将我的listAllData
变成2D数组?
它不是一个&#34;锯齿状阵列&#34;意思是每个条目总共有2个元素。
答案 0 :(得分:4)
结果array2实际上不是2D多维数组,而是数组数组。
不,它是 Response
个对象的一维数组。如果你想在一个二维对象数组中(其中行是源对象的两个字符串属性),你将不得不构建一个循环(Linq不支持二维数组):
object[,] array2 = new object[listAllData.Count,2];
for(int i = 0; i < listAllData.Count; i++)
{
array2[i,0] = listAllData[i].strId;
array2[i,1] = listAllData[i].strName;
}