我有此例程其改變的數組中的所有元素...使用lambda函數重寫這個數組操作?
for (int i = 0; i < sOutputFields.GetUpperBound(0); i ++)
{
sOutputFields[i] = clsSQLInterface.escapeIncoming(sOutputFields[i]);
}
sOutputFields
是一個維陣列string
。 escapeIncoming()
是一個返回string
的函數。
我想這可能是因此重新編寫..
sOutputFields.Select(el => clsSQLInterface.escapeIncoming(el));
..但是這似乎什麼也不做(但不拋出異常)。所以,我想..
sOutputFields =
(string[])sOutputFields.Select(el => clsSQLInterface.escapeIncoming(el));
..但我在執行時得到這個例外..
「無法投類型的對象WhereSelectArrayIterator`2 [System.String,System.String]'鍵入'System.String []'。「
如何解決?
查詢結果是不可改變的,並且=>不是分配新建分配FY運營商。 – asawyer 2010-12-08 14:45:21
您的LINQ代碼不會重寫,而是創建一個新的集合 – Max 2010-12-08 14:46:24