問題タブ [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# - SortedDictionaryが列挙されると、期待される順序でKeyValuePairsが返されますか?
SortedDictionary<TK, TV>
.NETを使用していて、期待どおりに列挙するように列挙したい場合はどうすればよいICollection<KeyValuePair<TK, TV>>
ですか?
つまりKeyValuePair<TK, TV>
、最も低いキーが最初に返され、次にKeyValuePair<TK, TV>
2番目に低いキーが返されます。
注:参照によってバックアップされた回答のみが受け入れられます。
.net - IDictionaryカスタムコレクション
誰かがこれを見て、私が間違っていることを教えてもらえますか? GetEnumerator メソッドの実装に問題があります。IDE ですべてのメソッドを作成する方法を見つけたので、メソッドをオーバーライドする方法を学習できます。私がよりよく理解できるように、だれでも ProductCollection クラスを完成させることができますか?
}
1 週間以上経った後、キャストせずにデータソースにバインドできる製品用のカスタム ディクショナリ クラス オブジェクトができました。他の誰かが問題やこれを改善する方法を見ていますか?
c# - 辞書>IDictionaryへ>?
次のコードを検討してください。
エラーがあります:
エラーCS1503:引数「1」:「System.Collections.Generic.Dictionary>」から「System.Collections.Generic.IDictionary>」に変換できません
foo関数を呼び出す方法はありますか?
c# - C# の文字列ディクショナリでの最高のパフォーマンス
各文字列に 0 または 1 つの親がある文字列階層を含む C# クラスを設計しています。
私の傾向はDictionary<string,string>
、キーが子で値が親である a でこれを実装することです。ディクショナリには大量の値が含まれている可能性がありますが、正確なサイズはわかりません。これは、親への参照を使用して複合ラッパーを作成するよりも高速に実行されるはずですが、間違っている可能性があります。
より良いパフォーマンス速度を確保するために私が取ることができる別のアプローチはありますか?
c# - XNA4.0での辞書のシリアル化
XNA 4.0でツリーをシリアル化したいのですが、各ノードには、intによってインデックス付けされたメンバーディクショナリ内の子ノードがあります。
私の意図は、特定のノードをシリアル化すると、そのノードをルートとして持つすべてのサブツリーがシリアル化されることです。しかし、テストしようとすると、辞書のシリアル化に問題があるようで、エラー(簡略化)で応答します。
私の質問は二重の質問です。まず、クラスDictionaryがシリアル化可能である場合、これは私が期待することを実行しますか?(つまり、すべてのサブツリーをシリアル化します)。次に、辞書クラスをシリアル化するにはどうすればよいですか?
ありとあらゆる情報を歓迎します。お時間をいただきありがとうございます。
wpf - IDictionary のバインドWPF のデータグリッド コントロールについて
私はデータグリッドビューに辞書をバインドしたいと思います。
これは、データグリッド コントロールにバインドするプロパティです。
これがクラス Bill です。
BillData クラス:
ここにxamlがあります:
しかし、データグリッドは空白です。
辞書の値を配列に変換し、これをデータグリッドにバインドしてみます。
役に立ちませんでした。
問題の根本とは?
c# - IDictionaryで複数のリストをラップする
次のようなクラスObjectBatchがあります。
このクラスは、IObjModelのプロパティに基づいてリストを追加/削除、変更する責任を単独で負います。これは悪いデザインですか?それは私には元気です。しかし、私はこれまでこのような実装を見たことがないので、これが悪いのかどうか疑問に思っていました。もしそうなら、なぜですか?
編集
一意の文字列が適用され(ただし、より高いレベルで)、IObjModelsが複合的な性質(より高いレベルで構成される)であると想定します。また、Serializable属性が追加されていることに注意してください。最初はこれを忘れていました。
このクラスは基本的に、個々のコレクションの要素を保存します。このクラスには、ユーザーはアクセスできません。これは内部ストレージオブジェクトです。
c# - iDictionary からデリゲートを返すにはどうすればよいですか?
ディクショナリを使用してデリゲートを参照しようとしていますが、デリゲート ポインターを取得しようとするとエラーが発生します。詳細なコンテキストについては、C 構造体で値を検索するために使用する文字列が与えられています。C 構造体でデータを取得/設定するメソッドを作成しましたが、文字列を指定してメソッドを呼び出す必要があります。もっと良い方法があれば教えてください。
c# - C# Dictionary がすべての IDictionary を実装していないのはなぜですか?
私はディクショナリのようなオブジェクトを作成したいと考えていましたが、IDictionary<K,V>
インターフェイスを実装し、コンポジションを使用して基礎となるディクショナリを含めることが正しい方法だと考えました。私は以下から始めました ( K
= string
, V
= int
)
次に、Visual Studio の「Implement Interface」機能を使用して、必要なすべてのカバー メソッドをスタブ化しました。
IDictionary
には存在しないように見えるの 3 つの方法Dictionary
:
それでも、Microsoft のドキュメントDictionary
は、それが実装していることを明確に示していますIDictionary
。したがって、これら 3 つの方法が利用可能であると予想していました。ドキュメントからコピーするには、の定義Dictionary<K,V>
これらの 3 つの欠落しているメソッドは、ICollection<>
. Clear()
しかし、そのような他の方法もそうDictionary
です。
質問 1: C# はこれら 3 つを実装せずにどのように回避できますか? また、その理由は何ですか? これはコンパイラ エラーであると思われます (私の理由については、以下を参照してください)。 質問 2: あるいは、何が欠けていますか?
これが、コンパイラエラーである可能性があると私が考える理由です。次のコードを調べます。
メソッドvoid Add(KeyValuePair<string, int> item)
はDictionary<string,int>
(コンパイルされていないため) に含まれていないように見えますIDictionary<string,int>
が、 に含まれており、コンパイラはその実装を適切に検出します。 質問 3:何が起こっているのですか?
Microsoft のドキュメントでDictionary<K,V>
は、これら 3 つの方法が指定されていないことに注意してください。
最後に、実際の実装では、最終的に使用しました
それ以外の
3つの方法すべてが簡単に機能するように。