【发布时间】:2015-03-14 23:03:50
【问题描述】:
我在访问 List 中的 Object[] 时遇到问题。
object[] datarow = null;
List<object> foo = new List<object>();
for (int i = 0; i < themonth.Length; i++) { datarow = new object[]
{
datarow = new object[] {themonth[i], aaa[i], bbb[i], ccc[i], ddd[i], eee[i], fff[i], ggg[i], hhh[i], iii[i] };
foo.Add(datarow);
}
当我尝试输出“foo”列表的内容时,我只是得到 System.Object[] 作为输出。
for (int i = 0; i < foo.Count; i++)
{
Console.WriteLine(foo.ElementAt(i));
}
调试器将 Object[] 显示为 Type - 扩展它 Object[] 包含放入 12 个数组的数据。 整个结果将是一个 10 列/12 行的列表/数组,我想以某种方式将其写回 .csv 文件。
任何想法如何实现这一目标?
我已经尝试创建一个新的字符串[],如下所示。
string[] test = ((IEnumerable)foo).Cast<object>().Select(x => x.ToString()).ToArray();
test[i] 的输出仍然是 System.Object[] 但没有数据。
【问题讨论】:
-
var e = (object[]) foo[i]; -
您看到的是
object[].ToString(),它只返回类型名称。你的问题是“如何将对象数组写入CSV?”,那么请使用搜索。例如How can I write a general Array to CSV file?、Write C# Lists of objects in CSV file 等。 -
我的问题不是如何写下来。我只想知道如何访问数组中的这些元素。我可能会基于此进行一些计算。