1

私はC#でdictionary名前を持っています。Pairいくつかのキーと値のペアが含まれています。スクリーン ショットを追加しました。 で例外が生成されましたが、 に表示されている(p.Key == "left)場合Sequence containes no matching elementは、そこPair Dictionaryleftキーが存在します。それでは、なぜこの例外が発生したのか教えてください。

4

3 に答える 3

4

私がそれを正しく見ることができれば、left値の前に空白が付いている" left"ので、p.Key == "left"決して真ではありません。

代わりに使用p.Key.contains("left")するか、値を返すかどうかを確認してから操作してください。または、先頭と末尾の空白を削除します。

于 2012-07-14T12:14:55.030 に答える
1

Singleの代わりにインデクサーまたはTryGetValueを使用する必要があります。シングルでは、辞書を使用する理由はありません。

また、問題は「左」の前にスペースがあるため、文字列全体が実際には「左」になるという事実に起因します。幅が1文字左にあることを確認してください。

于 2012-07-14T12:16:16.900 に答える
1

それが白人の問題ではない場合、私ができる唯一の方法は、辞書があるDictionary<object,...>場合==です。それはそれが失敗する原因になります。その場合は、 aまたは を使用します。Dictionary<string,...>Equals("left", p,Key)

Pair["left"]ルックアップを行うには、はるかに優れた方法であることに注意してください。

于 2012-07-14T12:18:06.690 に答える