将generics数组转换为特定的types
我正在使用Interop在C#中使用Excel。 我需要两个单元格。 这是我如何得到他们:
cells = (Excel.Range)sheet.get_Range("V" + i, "W" + i); System.Array values = (System.Array)cells.Cells.Value;
这返回我想要的值,用foreach
循环testing。 但是,我如何获得元素到string
variables? 我试过这个:
var stringValues = values.Cast<string>();
但我不能以任何方式访问它,而不会产生错误。
一个简单的ConvertAll
就足够了:
var stringValues = Array.ConvertAll(values, item => (string)item);
代码var stringValues = values.Cast<string>();
正试图将该数组强制转换为string。 所以,如果你试图结束一串string,你可以尝试:
var stringValues = new List<string>(); values.ToList().ForEach(cellValue=>stringValues.Add(cellValue.ToString());
这是我的头顶,可能是一个比较爽的方式来expression这一点
你可以试试:
values.Select(o => o.ToString());