首页 > 解决方案 > 使用 C# 中列表中的数据填充 Excel 一维数组

问题描述

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

标签: c#excel

解决方案


简单地

string[] a = families.ToArray();

如果您想创建数组而不填充它,您只需编写:

var a = new string[families.Count];

这相当于Array.CreateInstanceType只有在变量中给出类型时才使用后者。这将允许您在运行时确定数组的类型;但是,这里只是使用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没有())。


推荐阅读