私は、アレイ内のすべての要素を変化させ、このルーチン...ラムダ関数を使用してこの配列の操作を書き換えますか?
for (int i = 0; i < sOutputFields.GetUpperBound(0); i ++)
{
sOutputFields[i] = clsSQLInterface.escapeIncoming(sOutputFields[i]);
}
sOutputFields
は、1次元配列ですstring
ています。 escapeIncoming()
は、string
を返す関数です。
sOutputFields.Select(el => clsSQLInterface.escapeIncoming(el));
は何もしないように見える。これは、このように書き換えることができると思っていました。だから私は
「型のオブジェクトをキャストすることができません 'WhereSelectArrayIterator`2 [可能System.String、可能System.String]' .. ..私は、実行時にこの例外を取得..but
sOutputFields =
(string[])sOutputFields.Select(el => clsSQLInterface.escapeIncoming(el));
を試してみましたを入力する 'System.String []'。 "
修正方法?
クエリの結果は不変であり、=>はassigment演算子ではありません。 – asawyer
LINQコードは書き換えず、新しいコレクションを作成します。 – Max