저는 어레이 내의 모든 요소를 변경이 루틴 ...람다 함수를 사용하여이 배열 조작을 다시 작성 하시겠습니까?
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 []'을 (를) 입력하십시오. "
수정 방법은 무엇입니까?
쿼리 결과는 불변이며, =>가의 할당은 운영자 아니다 . – asawyer
LINQ 코드는 다시 쓰이지 않고 새로운 컬렉션을 만듭니다. – Max