問題タブ [generic-collections]
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# - 良い LinkedDictionary/Hashed LinkedList を知っている人はいますか?
Dictionary と LinkedList の間のどこかにある Generic コレクションが必要です。私はできるようにしたい:
- キーによる要素へのアクセス
- 前の要素と次の要素にアクセスする
提供されているジェネリック コレクションと特殊なコレクションを調べました。探しているものが実際には見つかりませんでした。最も近いコレクションは OrderedDictionary と SortedDictionary でした。
簡単なGoogleは、次の潜在的なコレクションを見つけました:
- LinkedDictionary - http://www.glennslayden.com/code/c-sharp/linked-dictionary
- C5 コレクション (ハッシュ化されたリンク リストをサポート) - https://github.com/sestoft/C5/
どれも相性が良さそうです。しかし、私は SO の教祖に彼らの提案が何であるかを尋ねたかった.
教祖、あなたの提案は何ですか?これらのコレクションまたは他のコレクションを使用して、これらまたは関連する目標を達成したことがありますか? 私が見るべきであって、ただ行方不明になっていることが露骨に明らかなものはありますか?
c# - リスト インターフェイス: Java から C# へ
私は最近 C# を学んでいる Java プログラマーです。
通常、Java でリストを使用する場合、実装を切り替えるには、そのインターフェースに対してプログラミングを行うことをお勧めします。
C# はどうですか? 同様のアプローチは存在しますか?誰かが私に例を示すことができますか? 今ではこの方法でリストを作成していますが、List はインターフェースではないと思います。
c# - ID の代わりに市区町村がドロップダウンリストの値にあるようです
ドロップダウンリストをロードするときに問題が発生しました.IDではなく都市がドロップダウンリストの値に表示されます。何が問題ですか?
dynamic - .net4のジェネリックコレクションで動的を使用する場合の例外を理解できません
以下のコードを確認してください。
これは「動的」メカニズムのバグですか?
c# - C#: リストでクラス フィールドを見つける
次のコードがあります。
リスト内で var1 = 20 のオブジェクトのインデックス # を見つけたい場合、どうすればよいでしょうか (この場合、var1 = 20 は myList[1] にあります)。
Contain() を使用してみましたが、エラーが発生しました。
関連するテーマでは、var1 の各値が一意であると仮定すると、代わりに var1 をキーとして Dictionary を使用すると、単純に高速になります。ありがとう。
java - ジェネリック型情報が利用できない場合にコンパイラの警告を回避するにはどうすればよいですか?
Spring を使用RestTemplate
して、REST Web サービスに対して呼び出しを行っています。これらの呼び出しの 1 つは、特定のタイプのオブジェクトのリストを返すことです。RestTemplate
メソッドでは、予想される戻り値の型を示すためにクラス引数を指定する必要があります。
明らかに、これはコンパイルされません。.class
そのような型引数を指定すると、静的プロパティを取得できません。型引数を削除するとコードはコンパイルされますが、rawtypes
コンパイラの警告が生成されます。
私の質問は簡単です。コンパイラの警告を抑制することに固執していますか、それともこれをコーディングするためのよりクリーンな方法はありますか?
c# - 異なる派生クラスを含む 1 つのオブジェクト プール
短縮版:
同じ基本クラスから派生したさまざまな型のクラスを格納できるオブジェクト プールを作成するにはどうすればよいでしょうか。
想定される使用例については、以下を参照してください。
長いバージョン:
私はBaseComponent
多くの派生クラスをChild1Component
持つクラスを持っていChild2Component
ます。
これらのコンポーネントのコレクションを表す別のオブジェクトもあり、そのプロパティは特定の値に設定されています。EntityTemplate
エンティティは一連のコンポーネントとその値によって定義されるため、これを と呼びます。
エンティティ コンポーネントに基づいてエンティティを作成したいと考えています。現在これを行うには、適切な を取得し、EntityTemplate
さまざまなコンポーネントをループして、Clone
各子クラスで定義したメソッドを呼び出します。そこにもCopy
メソッドが定義されていますが、これは役に立つかもしれません。
エンティティの有効期限が切れたら、そのコンポーネントをオブジェクト プールに追加します。次にエンティティを作成する必要があるときは、エンティティ テンプレートを取得し、コンポーネントごとにプールから同じタイプの 1 つを取得します。EntityTemplate
以下のように、 のプロパティと同じプロパティを設定します。
c# - 複数の型を受け入れる C# 関数を作成するより良い方法はありますか?
いくつかのコンテキスト: コレクションに物を追加するための主なメソッドが Add (またはそのようなもの) という名前のメソッド (または複数のメソッド) を介して行われるクラスを作成したいと思います。そのため、最良のシグネチャは params object[] です。内部的には、まさにこの関数は、受け入れることができるすべてのタイプを切り替え/ if-else する必要があります。したがって、最初はこの object[] 配列を受け入れることができましたが、object[][] や object[][][] なども受け入れて、メソッド/関数を内部的にフラット化できるようにしたいと思うかもしれません。ユーザーは、この関数を呼び出す前にそれを行う必要はありません。
そう...
単一の種類のオブジェクトに対してさまざまなレベルのリスト型を受け入れることができる関数を作成することは可能ですか? 副次的な質問として、クラスへのインターフェースを設計するとき、(編集:すでに十分なことが起こっているため、質問から削除されました。)object[]
またはどちらを受け入れるのが良いですIEnumerable<object>
かparams object[]
?
たとえば、 , の両方/すべて、および場合によっては , (および on、on および on など) のようなさらにネストを受け入れる関数を考えobject[]
ていますIEumerable<object>
。IEnumerable<IEnumerable<object>>
object[][]
これは可能ですか?
visual-studio-2010 - リスト内のオブジェクトの複製
私の最初の質問の時間です!私はプログラミングに関してかなりの素人であり、おそらくこれから使用する用語を完全には理解していないことを知らせたいと思います。
Oracle クエリから結果を取得し、操作のために DataGridView に表示するプログラムを作成しています。データは面付けソフトウェアで使用され、行を「分割」および「結合」して複製を作成できる必要があります。
データは、プルされたすべてのデータを含む 20 以上のオブジェクトを含む CheckOrderLine と呼ばれる汎用コレクションとしてサービス レイヤーから取得されます。
バインディング ソース _bs から現在の CheckOrderLine を取得し、すべて同じ値で新しい CheckOrderLine を作成する方法を探しています。これはディープコピーとして知られていると思います。
次のコードを使用して目標を達成できることを学びましたが、それを行うためのより良い方法があると確信しています。
等々。
だから私の質問はこれだと思います: CheckOrderLine を反復処理して、新しいオブジェクトの各プロパティの値を設定する方法はありますか? また、私が向かっている方向にひどく間違っていることはありますか? Web で CheckOrderLine クラスで ICloneable を使用することについて話しているのを見たことがありますが、現時点ではそれは私の頭の中にあります。
編集:間違った VS タグがありました。そして、いくつかの語彙を修正しました。
c# - ジェネリックコレクションにアイテムを追加するにはどうすればよいですか?
与えられた:
c
タイプではないことを除いて<T>
。
では、一般的なコレクションにアイテムを追加するにはどうすればよいですか?
私は持ってみました:
しかし、誰も呼び出すことができないので、私はそれを使用しませんDoStuff
:
共分散についての何かがあり、.NETはそれが:Customer
から派生していることを認識していないためです。Human