2011-11-08 56 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()); 
相關問題