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



我有一个列表:var families = new List<string>();. 我创建了一个具有列表长度的单维数组:var a = Array.CreateInstance(typeof(object), families.Count(), 1);如何使用列表的值填充数组"a",以便使用该数组将值放入范围? 希望我的问题清楚

string[] a = families.ToArray();

如果你想在不填充数组的情况下创建数组,你只需写:

var a = new string[families.Count];

这相当于Array.CreateInstance.仅当类型是在Type变量中给出时,才会使用后者。这将允许您在运行时确定数组的类型;但是,这里只需使用new knownType[count].

或者new object[count],但我不清楚为什么你应该弱地键入你的数组。

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

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没有()(。

最新更新