将通用数组转换为特定类型

时间:2011-11-08 19:40:10

标签: c# excel interop

我正在使用Interop在C#中使用Excel。我需要两个细胞。这就是我得到它们的方式:

cells = (Excel.Range)sheet.get_Range("V" + i, "W" + i);
System.Array values = (System.Array)cells.Cells.Value;

这将返回我想要的值,并使用foreach循环进行测试。但是如何将元素转换为string变量?我试过这个:

var stringValues = values.Cast<string>();

但如果不引发错误,我无法以任何方式访问它。

3 个答案:

答案 0 :(得分:3)

一个简单的ConvertAll就足够了:

var stringValues = Array.ConvertAll(values, item => (string)item);

答案 1 :(得分:0)

代码var stringValues = values.Cast<string>();正在尝试将数组转换为字符串。所以,如果你想要一个字符串数组,你可以尝试:

var stringValues = new List<string>();

values.ToList().ForEach(cellValue=>stringValues.Add(cellValue.ToString());

这是我的头脑,可能有一种表达这种

的方式

答案 2 :(得分:0)

您可以尝试:

values.Select(o => o.ToString());