如何在C#中将2D列表转换为2D数组
本文关键字:2D 列表 转换 数组 中将 | 更新日期: 2023-09-27 18:20:00
我有以下C#列表:
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阵列中?
它不是一个"锯齿状数组",这意味着每个条目中总是有2个元素。
结果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;
}