問題タブ [containskey]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb.net - wmiクエリvb.netから取得した新しいフィールドで辞書の値を更新します
編集
プロセスに関連付けられているセッションIDのユーザー名をまだ割り当てることができません。
これは、ユーザーの詳細を取得するために使用するコードです。
私のユーザークラスは単純に次のように定義されています。
プロセスクラスに関数を作成しました。
vb.net - VBで辞書の値を見つける方法
私はこの辞書を持っています:
次のステートメントを実行したいのですがif
、構文に少しこだわっています。
c# - Dictionary.TryGetValue(String, out object) を呼び出すと、InvalidCastException が発生します。なんで?
私は途方に暮れています。String キーを持つ Dictionary オブジェクトがあります。オブジェクトは、私が持っているカスタム タイプです。この例では、InvalidCastException がスローされます。
代わりに「ContainsKey」を使用すると、InvalidCastException が発生します。
どちらの場合も、Dict["abc"] を監視すると、必要な値が Dictionary から取得されます。例外の詳細は、追加情報を提供しません。
この状況を再現する小さなコード サンプルをまとめてみましたが、私のコード サンプルは完全に機能します。この問題のコード サンプルを提供する方法がわかりません。
ディクショナリにキーが存在するかどうかを確認するときに InvalidCastException が発生するのはなぜですか? ContainsKey がその実装でキャストを行う必要があるのはなぜですか? これを修正するにはどうすればよいですか?
actionscript-3 - ActionScript のオブジェクトのキーの存在を確認しますか?
特定のキーが連想配列に含まれているかどうかを確認する方法は? すべてのキーをループできることはわかっていますが、シングルステップ チェックを行うことはできますか?
c# - ディクショナリ キーとしての C# リスト
リストをキーとする辞書があります:
ContainsKey を使用しようとしていますが、機能していないようで、理由がわかりません。Visual Studio のイミディエイト ウィンドウからのデバッグ情報は次のとおりです。
私の常識では、最後の ContainsKey は true でなければなりません。ここに十分な情報が含まれていることを願っています...何かアイデアはありますか?
ありがとう!
c# - Dictionary.ContainsKey StringComparer.Ordinal
私は、.NET 3.5 を使用して C# でディクショナリを使用しています。オブジェクトを作成し、等値比較子を渡しました。ただし、次のコードを実行すると、期待どおりの結果が得られません。Dictionary
<string, int
>StringComparer.Ordinal
ここには何が表示されていませんか?
c# - Containskey VS Try Catch
Vector2 の Generated のリストがあり、それらが存在するかどうかを確認するために辞書と照合する必要があります。この関数はティックごとに実行されます。
どちらが最も速く実行されますか/この方法で実行する方が良いですか?
それとも、標準に固執する必要がありますか?
入力していただきありがとうございます:)
補足: (キーの値はこの時点では問題にならないか、ContainsKey の代わりに TryGetValue を使用します)
java - Java ハッシュ マップの containsKey が true を返すべきではない場合に true を返す
したがって、オブジェクトをディスプレイに追加するこのメソッドがあります。ディスプレイが最初に開かれると、既存のすべてのオブジェクトが 1 つずつ HashMap に追加されます。その後、ユーザーは一度に 1 つずつさらに追加して、新しいオブジェクトを HashMap に入れることができます。
Key は Object で、Value は Object とそれに関する他のいくつかの変数を含むカスタム クラスです。
これはすべて正常に動作しますが、ディスプレイが閉じられて新しいインスタンスが開かれると、すべてのオブジェクト (使用中にユーザーによって作成および保存されたものを含む) が再ロードされるはずですが、何らかの理由で新しく作成された1 つは、containsKey を実行するときに不正確な一致を検出します。
一致するはずがないのになぜ一致を見つけるのか、私にはよくわかりません。containsValue を実行すると、誤った一致は見つかりません (正常に動作します) が、HashMap.put(K, V) を使用すると、containsKey の誤検出を返したものをオーバーライドするため、役に立ちません。 .
コードが行うのは、各オブジェクトを反復処理することだけです。HashMap に既にキーが含まれているかどうかを確認し、含まれている場合はキーの値を返します。そうでない場合は、メソッドに渡されたキーに基づいて値を作成し、それをハッシュマップに配置します。
申し訳ありませんが、コードを投稿することはできません。それがなければ助けられない場合は理解していますが、それは仕事のためであり、たとえそれが単なるスニペットであっても、コードを投稿してもよいかどうかわかりません.
ヘルプやガイダンスをいただければ幸いです。情報が見つかるかどうかを確認するために、まだ Google を検索しています。
編集:解決策を見つけました。ハッシュコード関数は、本質的にインデックスである値を返していました。問題は、最初のオブジェクトの後にリセットされたため、新しく追加されたオブジェクトがゼロから開始され、既存のオブジェクトが上書きされることでした。ハッシュコードとその動作を変更しました。
みんな助けてくれてありがとう。
java - HashMap キーの存在を確認する
Java では、HashMap に次のような形式のデータを完全に入力します。
ランダムキーの存在をチェックするとき、何が速いか、たとえば 100:
また
?
質問は、マイクロ最適化の観点から興味深いものです。
c# - 辞書を上書きするのContainsKey
私はDictionary<DateTime, int>
このように定義しています:
それぞれDateTime
がに関連付けられていint
ます。DateTime
辞書に同じ日のがすでにあるかどうかを示す関数が欲しいのですが:
これは完璧ですが、同じ日+月+年(時間/分/秒を見ずに)のがすでにある場合は、ContainsKey
返品を希望します。true
DateTime
実際、私の辞書ではDateTime
、同じ日/月/年の2つのインデックスを許可するべきではありません。
DateTime
解決策は、属性とオーバーライドGetHashCode
とを使用してクラスを作成することEquals
ですが、もっと良い解決策があるのではないでしょうか。