在C#中用列表中的数据填充Excel单维数组。

问题描述 投票:0回答:1

我有一份名单..: var families = new List<string>();. 我创建了一个长度为列表的单维数组。var a = Array.CreateInstance(typeof(object), families.Count(), 1);我怎样才能在数组 "a "中填入列表中的值,以便使用该数组将值放入一个范围内? 希望我的问题是清楚的。

c# excel
1个回答
0
投票

简单地说

string[] a = families.ToArray();

如果你想在不填满数组的情况下创建数组,你可以简单地写。

var a = new string[families.Count];

这就相当于 Array.CreateInstance. 只有在类型是以 Type 变量,这样就可以在运行时确定数组的类型。这将允许你在运行时确定数组的类型;但是,这里只需使用 new knownType[count].

new object[count]但我不明白为什么你要对数组进行弱类型化。

如果你需要一个2维数组,第二维的长度为1,你可以写。

var a = new string[families.Count, 1];
// OR if you really need an object array
var a = new object[families.Count, 1];
for (int i = 0; i < families.Count; i++) {
    a[i, 0] = families[i];
}

不要使用 families.Count(). 这将调用一个LINQ扩展方法。这里不需要这样做,因为 List<T> 具有更快的 Count 属性 (families.Count()).

© www.soinside.com 2019 - 2024. All rights reserved.