2011-11-08 54 views
1

我正在使用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>(); 

但我不能以任何方式访问它,而不会引发错误。

+0

什么错误? – ovolko

回答

3

简单ConvertAll的更简洁的方式应该足够了:

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

代码var stringValues = values.Cast<string>();正试图将该数组强制转换为字符串。所以,如果你想用一个字符串数组结束了,你可以试试:

var stringValues = new List<string>(); 

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

这是从我的头顶,有可能是表达这种

0

你可以试试:

values.Select(o => o.ToString()); 
相关问题