将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。 但是,我如何获得元素到stringvariables? 我试过这个:

 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());