問題タブ [idictionary]
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.
c# - Dictionary.ContainsKey()-どのように機能しますか?
どのように機能するかについてのMSDNドキュメントを読みましたが、Dictionary.ContainsKey()
実際にどのように等式比較を行うのか疑問に思いました。基本的に、私は参照型*にキー設定された辞書を持っておりContainsKey()
、キーが存在するかどうかを判断するための基礎として、その参照型の特定のプロパティをチェックするメソッドが必要です。たとえば、がDictionary(MyObject, int)
あり、 「TypeID」というMyObject
パブリックプロパティ(の)がある場合、キーの1つに等しいaがあるかどうかを確認できますか?演算子をオーバーロードできますか?int
ContainsKey(MyObject myObject)
TypeID
myObject
==
double Length
参照型は、値( )を保持する「Duration」と呼ばれるオブジェクトです。「デュレーション」は、特定のサウンドがどのくらい続くかを示すために私の音楽プログラムで使用される基本タイプです。私はそれから、西洋の拍子記号のようなより洗練されたタイミングの概念を組み込んだクラスを導き出しますが、それらすべてが長さの点で比較可能であることを望んでいます。
編集:提案されたように、私は次のようにオブジェクトにIEquitableを実装しました:
これが私がする必要があるすべてですか?
c# - IDictionaryにキャスト
以下の関数は、ダイナミックのタイプを返します。これは、IDictionaryにキャストするための最も効率的な方法です。
c# - 動的型パラメーターによって参照される json を Idictionary にキャストする
動作しない次のコードに遭遇しました
オプションがjsonを保持する場所
私の質問は、これはうまくいくと思いますか? つまり、動的タイプによって参照されるjsonをブラックマジックなしでIDictionaryにキャストすることは可能ですか?
c# - 戻り型としてのジェネリッククラス
ジェネリックを使用してさまざまな値を保持するストレージクラスがあります。
別のクラスでは、次のようなメソッドを作成したいと思います
settingsDictionaryはどこにありますか
エラーが発生します:
タイプまたは名前空間の名前「T」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)
これを解決する方法はありますか?ありがとう
c# - C# IDictionary.Keys と IDictionary.Values: 最も最適な実装は何ですか?
私は辞書として機能する C# クラスを持っているので、現在 IDictionary をサポートしています。
プロパティ Keys と Values を除いて、すべて問題ありません。
内部にキーまたは値のコレクションを持っていないので、これらを ICollection として提供する方法を考えています。
私の最初の試みは、次のような「利回り」の魔法を使用することでした。
しかしもちろん、返される型は IEnumerator ではなく ICollection であるため、これは機能しません...
これが最も簡単な解決策だったので、残念です!
私の 2 番目の試みは、新しく作成した配列に値をコピーし、その配列を返すことでした。
Array は ICollection をサポートしているため、これは機能します。
しかし問題は、ICollection にエントリを追加および削除するメソッドがあることです。呼び出し元がこれらのメソッドを呼び出すと、辞書ではなくコピーのみが変更されます...
私が選択した最終的な解決策は、キーと値のプロパティからこれらのコレクションを返すことができるように、辞書で IDictionary だけでなく ICollection と ICollection もサポートすることです...
そのため、プロパティ Keys および Values の get アクセサーは単に「これ」、つまり辞書を返します。
これはおそらく最も最適なソリューションですが、IDictionary を実装するたびに 2 つの追加のインターフェイスを実装する必要があるのは面倒です。
他にアイデアはありますか?
結局のところ、コピーを配列として返すことはそれほど悪い考えではなかったと思います。とにかく、 IDictionary には、使用する方が理にかなっている Add および Remove メソッドが既にあります。
返されたコレクションを変更しようとすると失敗するため、配列をラップする ReadOnlyCollection を返す方がよいでしょうか?
c# - リスト値を辞書に追加する
一意のサブジェクト値がそれに一致する必要があるさまざまなコード値を持つ辞書を作成しようとしています。
したがって、私が望むのは、要件と選択が一意のキーとして一度辞書に追加され、次に対応するすべてのコードがリストに追加されることだけです。これを行うにはどうすればよいですか?
これは私の質問です
c# - ディクショナリ内のキー値の分割
ディクショナリに複数のキー (サブジェクトを表す) があり、キーごとに複数の値 (コード) を関連付けます。
コードの件名
7DIM-039 コミュニケーション
7DIM-040 コミュニケーション
7DIM-041 コミュニケーション
7DIM-042 コミュニケーション
7DIM-043 コミュニケーション
各サブジェクト (キー) をいくつかの値 (コード) に関連付けるために、クエリでこれを行います。辞書を作成しました
これが結果です
私が抱えている問題は、これらのキーのいくつかがセミコロンで区切られていることです(したがって、キーごとにいくつかの項目があります)。当然、分割する必要があります。
例: GenSubject;キャリア; リスニング能力; 自己啓発; 質問スキル; コーチング・メンタリングなど
これらの値を分割し、さまざまなコード値が各分割値に関連付けられていることを確認するにはどうすればよいですか?
分割方法も考案しました
これは例です CODE GenSubject
7DIM-062 コミュニケーション、質問力、決断力
7DIM-063 コミュニケーション、質問力、決断力
7DIM-064 コミュニケーション、質問力、決断力
7DIM-065 コミュニケーション、質問力、意思決定力
7DIM-066 コミュニケーション、質問力、決断力
7DIM-067 コミュニケーション、質問力、決断力
だから私が達成したいのは、コミュニケーションのためにすべてのコードを保存し、質問スキルなどのために同じコードを保存することですが、もちろん一度だけです。
c# - 辞書のキーを削除する
次の条件に基づいて、辞書内の指定されたキーを削除するにはどうすればよいですか?
c# - 辞書の空白を取り除く
辞書を持っています
辞書のどのレコードにも空白がないことを確認するにはどうすればよいですか?