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