c# - 使用 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
没有()
)。
推荐阅读
- mysql - 主键和规范化
- c# - 将文本框绑定到 List<>[i]
- php - Wordpress PHP 7.0 到 7.3 在 gcp 上的 Wordpress
- nginx - SAMEORIGIN VS CORS
- php - 将重力形式钩子变量传递给另一个重力形式钩子
- ffmpeg - ffmpeg h264 流解码伪影
- java - HierarchyStruc 类中 Java 中的 ClassCastException 如下
- android - Google 登录与 Google Play 服务登录
- java - jooq 从 sql 文件插入
- apache-spark - 在 Pyspark Mllib 代码中使用 0 在阶段 n 中等待