2011-11-08 8 views
1

私はC#でExcelと連携するためにInteropを使用しています。私は2つの細胞が必要です。 foreachループでテストとしてジェネリックアレイを特定のタイプに変換する

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

これは、私が欲しいの値を返します。これは私がそれらを得る方法です。しかし、どのように要素をstring変数に入れるのですか?私はこの試みた:

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

を私はエラーを出さずにどのような方法でそれにアクセスすることはできません。

+0

エラーとは何ですか? – ovolko

答えて

3

シンプルConvertAll表現のterser方法があります十分なはずです:

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()); 
関連する問題