0

コードの一部で、ラムダ ステートメントを介して取得したパラメーターを使用して関数を使用する必要があります (簡単にするために、この行に沿ったもの):

Item.Move(Array.Exists(mainArray, arrayItem => 
(variable == secondArray[Array.IndexOf(mainArray, arrayItem)]))
? secondArray[Array.IndexOf(mainArray, arrayItem)
: new Vector2(-variable.X, variable.Y));

ただし、問題は、条件演算子の最初の操作で、arrayItem に下線が引かれ、ラムダの先頭で定義されているにもかかわらず、「名前 'arrayItem' は現在のコンテキストに存在しません」というエラーが表示されることです。 .

したがって、外部で定義された変数に arrayItem の値を与えるステートメントをラムダに追加しようとしましたが、多数のエラーが発生しました。

ラムダ式からこの変数を参照する方法はありますか? 条件演算子で引き継がれない理由がわかりません。

4

1 に答える 1

0

これを試して:

Array.Exists(mainArray, (arrayItem) =>
    {
        return variable == secondArray[Array.IndexOf(mainArray, arrayItem)];
    }); 
于 2012-10-22T05:36:38.683 に答える