問題タブ [icollection]

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.

0 投票する
5 に答える
2366 参照

c# - IEnumerable を作成する最も簡単でコンパクトな方法は何ですか?または ICollection?

そのため、多くの場合、IEnumerable または ICollection をパラメーターとして受け入れる関数があります。単一の項目があり、それらを保持するコレクションがない場合は、次のように関数に渡す前にコレクションを作成する必要があります。

最後の例で行ったように、私は常に配列またはリストを作成してきました。しかし、必要な IEnumerable または ICollection を作成するよりエレガントな方法はありますか?

これを行うことができれば、それは非常にクールです:

また、コンパイラは、IEnumerable または ICollection (関数が受け入れるものに応じて) のニーズを満たす最も抽象的な可能なコレクションを作成します。

とにかく、o1、o2、および o3 を IEnumerable または ICollection パラメーターに渡すにはどうすればよいでしょうか?

0 投票する
2 に答える
2118 参照

c# - ICollection / ICollectionあいまいさの問題

構文sygarの単純な拡張を作成したいだけです:

一部のコレクションで作業する場合は完全に機能しますが、他のコレクションで作業する場合は

次のメソッドまたはプロパティ間で呼び出しがあいまいです:'PowerOn.ExtensionsBasic.IsNotEmpty(System.Collections.IList)'と'PowerOn.ExtensionsBasic.IsNotEmpty(System.Collections.Generic.ICollection)'

この問題に対する標準的な解決策はありますか?

いいえ、このメソッドを呼び出す前にキャストを実行したくありません;)

0 投票する
2 に答える
2313 参照

c# - ICollectionとICollection-ICollection間のあいまいさ.CountおよびICollection.Count

注:これは似ていますが、この他の質問とはまったく同じではありません

IBusinessCollectionインターフェイスを実装しました。ICollection<T>それは、、および古いバストの非ジェネリックの両方から派生しICollectionます。古いバストをダンプしICollectionたいのですが、CollectionViewでWPFデータバインディングを使用しているので、古いバストの非ジェネリックを実装する必要がありますIList:-(

とにかく、インターフェースは次のようになります。

依存性注入を使用しているため、具体的な型ではなくIBusinessCollection<T>、インターフェイスを使用して型のオブジェクトを渡しているので、次のようになります。

このコードを呼び出そうとすると、次のようなエラーが発生します。

これをコンパイルする方法は3つありますが、どれも醜いです。

  1. クラスを具体的な実装にキャストします(私は知らないかもしれません)

  2. クラスを明示的にキャストするICollection

  3. クラスを明示的にキャストするICollection<T>

キャストする必要がまったくない4番目のオプションはありますか?必要な変更を加えることができますIBusinessCollection<T>

0 投票する
3 に答える
9612 参照

c# - C#で適切な形式のICollectionからStringへ

リストがあります:

リストの文字列表示を取得したい場合。しかし、コードlist.ToString()リターン"System.Collections.Generic.List'1[System.Int32]"

私はこのような標準的な方法を探しています:

そして得る"[1, 2, 3, 4, 5]"

ICollection を適切な文字列形式で表示するための標準的な .NET メソッドはありますか?

0 投票する
4 に答える
7560 参照

c# - クラスのT?AddRange ICollection?

静的クラスを実行して icollection に追加しようとしていますが、克服できない問題がいくつかあります。メソッドで ICollection を渡すことができるようにするにはどうすればよいですか? 原因 T は、解決できないと言っています。

そして、icollectionでAddRangeを行う方法はあるのだろうか?

私はこのようなことを考えていましたが、多分私はそれで頭がおかしくなりましたか?

0 投票する
7 に答える
38152 参照

c# - インスタンス化されたときに ICollection インデックスが機能しないのはなぜですか?

パラメータを ICollection として宣言し、オブジェクトを List としてインスタンス化すると、インデックスを取得できないのはなぜですか? すなわち

次に、これは機能しません。

私が見逃しているビットは何ですか?
[はい、List を宣言として使用でき、機能しますが、次のようにリストとして宣言したくありません。

]

0 投票する
2 に答える
680 参照

collections - IEnumerableでMicrosoft.VisualStudio.QualityTools.UnitTesting.CollectionAssertを使用することは可能ですか?

2つのコレクションが等しいかどうかを確認したいテストシナリオがあります。クラスを見つけましたMicrosoft.VisualStudio.QualityTools.UnitTesting.CollectionAssertが、でのみ機能しICollection<T>ます。私はEntityFrameworkのリポジトリをテストしているので、IObjectSet<T>sを比較する必要があるので、それは実行されません-IObjectSet<T>は実装されませんICollection<T>

このクラスを使用してコレクションを比較する方法はありますか、それとも独自の実装を作成する必要がありますか?IEnumerable<T>(そして、コレクションの「基本インターフェイス」であるため、Microsoftチームが代わりにクラスを機能させなかったのはなぜですか?)

編集:これは私のテストコードです:

最後の行のCollectionAssert.AreEqual呼び出しは失敗し、インデックス0の要素が等しくないことを示しています。私は何が間違っているのですか?

0 投票する
1 に答える
1047 参照

c# - LinqToSqlテーブルをRepeaterにバインドする

DBからデータを取得するクラスがあります。

そして、私はデータをバインドしています。データは上記のクラスを介してdbから取得されます。

結果はIEnumerableですが、DataSetのようなものが必要です。このエラーが発生します:

ICollectionを実装していないデータソースのカウントを計算できません。

私はこのエラーについての良い説明を見つけました、それは次のとおりです:

グリッドが自動ページングを実行するには、基盤となるデータソースがICollectionインターフェイスをサポートしている必要があります。ICollectionには、Countプロパティを実装するためのクラスが必要です。ArrayListとDataViewはどちらもインターフェイスをサポートしているため、これらをDataSourcesとして使用できます。他のクラスはIEnumerableインターフェイスのみをサポートします。これにより、それらをデータソースとして使用できますが、ページングされたデータソースとしては使用できません。SqlDataReaderは、そのようなクラスの例です。参照

しかし、linqの結果を使用してリピーターをSQLテーブルにバインドする必要があります。私は何をすべきか?

0 投票する
1 に答える
596 参照

.net - CollectionAssert (および Linq?) を使用して 1 つのプロパティのすべての値を見つける方法は同じですか?

これは、私が今日尋ねた以前の質問の拡張です.... CollectionAssert を使用してコレクションのテストを支援することを強調しました (私は知りませんでした)。

これは Status と呼ばれるプロパティを持ってICollection<Foo> foos;います。簡単にするために、int または byte です (あなたのボートを浮かせているものは何でも <-- 私がそこで何をしたか見てください?! /me hides)。

では、CollectionAssert を使用して、返された ICollection 内のすべての項目がその 1 つのプロパティに対してすべて同じ値を持っているかどうかを確認するにはどうすればよいでしょうか?

0 投票する
2 に答える
92 参照

.net - コレクションを別のコレクションと比較するためのより良いアプローチは何ですか (アーキテクチャ的に言えば)?

今のところ私が気に入っているアーキテクチャ アプローチの例を次に示します。

この CollectionComparer 抽象クラス アプローチは、コレクションに適用された object.Equals() と同等のコレクション比較の良い方法と見なされますか?