一部のC#コレクションにはカウントがあり、一部のコレクションにはlengthプロパティがあります。どの人がどのような人物を持っているのか、それともなぜ分身があるのかを知るための俯瞰はありますか?長さまたはカウントプロパティを持つコレクションのThumbrule - C#
4
A
答えて
7
私は、次のことになる Thumbrule 一般的に言うと思います:
Length
が固定長のために、すなわちリスト( ICollection
から)、
Count
が 可変長のコレクションのためにあります コレクション、つまり配列、または他の 不変オブジェクト、つまりstring
です。
UPDATE:ReadOnlyCollection<T>
はCount
性質を持っていますが、(Greg Beechのコメントどおり)
だけCount
を詳しく説明するが、ICollection
から伝わってくるし、常に例えば、可変性を示すものではありません。そうではありませんしかし、それはICollection
を実装しています。
おそらく親指のより正確なルールは次のようになります。
Count
はICollection
Length
を実装 何かが不変を示していることを示しています。
3
タイプがICollectionの場合は、Countプロパティが実装されます。一方、Lengthは標準ではなく、Arrayクラスのプロパティとして定義されているので、すべての固定サイズの配列にも同様の効果があります。その他など
0
はCount
はICollectionを由来とLength
は、特に、典型的には、特定の種類、例えばString
とArray
として不変であるタイプで定義されていると述べています。
私には、Count
は、何かのカウントが容易に変更される可能性があることを意味します。 Length
はより不変です。与えられたオブジェクトの長さは、通常、劇的な変化なしには変化しません。
また、LINQで定義されている拡張方法Count()
があります。これは、これらのプロパティの両方に共通のインターフェイスを提供します。 LINQはできるだけ効率的にCount()を返すほどスマートです(CountやLengthプロパティが存在する場合は呼び出す)ので、まともな選択肢です。
関連する問題
- 1. バインドされたコレクションを持つWindow.InputBindings
- 2. パラメータ化されたコレクションを持つジェネリック?
- 3. JPAレイジーロードされたフィールドを持つオブジェクトのコレクション
- 4. ASP.NET:ネストされたコレクションを持つオブジェクトのデータバインディングと更新
- 5. mongodbで2つのコレクションの長さを連結し、1つの変数に2つのコレクションの合計長を取得する方法は?
- 6. コレクションに@NonNullを持つJava汎用コレクション
- 7. 戻りコレクションは、私は2つのコレクションを持っている
- 8. Javaのコレクションを持つ多型は
- 9. NHibernate - ページングされた子コレクションを持つ親を取得する
- 10. MongoDB:C#でネストされた配列を持つコレクションをロードするには?
- 11. Hibernateは、私は2つのエンティティを持ってマッピングされたコレクション
- 12. .hファイルを持つ2つの.cリンクされたファイルは、[] []
- 13. Neo4jClient:複数の列を持つコレクションをフェッチするためのC#クエリ
- 14. インタフェースとネストされたコレクションを持つAutoMapper EF
- 15. 組み込みの削除操作を持つC++コレクション?
- 16. コレクションを持つAutomapperマッピングオブジェクト
- 17. 正確な長さを持つOracle regexpを持つSUBSTRINGを探します。
- 18. 多数のNAsを持つ長いデータの行を折りたたみます
- 19. さまざまな型(文字列、intなど)を持つ単一キーの複数の項目を持つC#のコレクションはありますか
- 20. WHERE句のコレクションを持つHQL
- 21. スワッシュバックルには、コレクションをパラメーターとして持つメソッドが表示されません。
- 22. 私は次のような構造を持つコレクション持つネストされたサブ文書
- 23. ネストされたコレクションを持つ複雑なオブジェクトをまとめる
- 24. 親よりも長い子を持つネストされたアニメーションシンボル
- 25. 私はCを持っているC++のunsigned char配列の長さ
- 26. マクロを持つ長方形の配列
- 27. SWIGが未知の長さ配列を持つNumPy C拡張子
- 28. 先頭の長さの値を持つソケットデータを送信する
- 29. Cプログラミングの長さ2を見つけます次元配列
- 30. RecyclerView画像のコレクションを持つアイテム
私はそれが可変長のコレクションであるとは言いません。 'ReadOnlyCollection'は明らかに不変で固定長ですが、 'Count'プロパティを持っています。それは、他の振る舞いに関係なく、 'ICollection'を実装しているものだけです。 –
非常に良い点は、明らかに例外があるが、OPは親指を望んでいた。 – GenericTypeTea