リストをメソッドの引数として取りたい場合、ResharperはIListインターフェイスを使用するほうが良いかもしれないというヒントを示します。 ListをIListに置き換えると、ResharperはIEnumerableを提案します。 Javaでは、私は引数としてArrayListではなくArrayListを使用します。しかし、引数としてiEnumerableを使うのは本当にいいコードですか? IListまたはListの機能が必要ない場合は、IEnumerableを使用するのがよい方法ですか?ここでC#リストにIListまたはIEnumerableを引数として指定します。
1
A
答えて
5
は答えに
だから、最も具体的な型を返す、私はすべてのことについての私の心を変更作られ、私は
の原則で最も一般的なタイプを取り、次の起動作らthe articleですあなたの質問
IListまたはListの機能が必要ない場合は、IEnumerableを使用することをお勧めしますか?
はい、それは
ノートです:オーバーそれをしません!
IEnumerable
を受け入れたコードを見た後、パラメータがList
でない場合は例外がスローされました。これは愚かです。上記の文章が意味することは、「あなたが必要とするよりも具体性を求めないでください」です。
関連する問題
- 1. IEnumerableまたはIListのforeach
- 2. Pythonは関数引数としてラムダ引数を指定します
- 3. IEnumerableとIListのヌル
- 4. 式の引数として型コンストラクタを指定します
- 5. `reduce`にaccumulator引数を指定して` next`を使います
- 6. 引数を指定してプログラムを実行しますか?
- 7. 変数を引数として指定する方法は?
- 8. 引数を指定してジェネリックコールバックをバインドするC++ 11
- 9. KSHは変数で引数を指定してJavaを実行します
- 10. Android/Java:引数を指定したshowDialog?
- 11. 引数を指定したGetterプロパティ
- 12. Scala引数を指定したJARファイル
- 13. 引数を指定したnewInstance
- 14. ブロック引数を指定したNSInvocation
- 15. 異なる "foreach()"引数に無効な引数が指定されました
- 16. Swift 4 'index'を引数リストで指定することはできません
- 17. 比較関数に追加の引数を指定してリストをソート
- 18. 引き数を指定したphp execはまだ動作しません
- 19. foreachに無効な引数が指定されました - PHP
- 20. foreach()ラーベルタグに無効な引数が指定されました
- 21. winformアプリケーションをterminalコマンドで実行し、構成引数xmlファイルをコマンド引数として指定します。
- 22. PostgreSQL関数で引数を指定してシステムコマンドを実行しています
- 23. 引数で指定された変数をbash関数に変更します。
- 24. C#で引数としてリストを渡す方法は?
- 25. 引数を指定してsetTimeout
- 26. 引数を指定してSilexリダイレクト
- 27. List、IList、IEnumerableの比較
- 28. 引数を指定したRubyモジュールはメソッドを呼び出しますか?
- 29. throwing error foreach()に対して無効な引数が指定されました
- 30. computer_move()は引数を2つ(3つ)指定しますか?
*「IListまたはListの機能がない場合はIEnumerableを使用するのがよいでしょうか? –
はい、配列や遅延ロードされたLinqクエリのように渡すことができるためです。 – juharr
再利用可能なメソッドを提供することは常に良いことです。すべてのジェネリックコレクションの基本インターフェイスを尋ねる場合は、リストだけでなく、多くのタイプでこのメソッドを使用できます。 'IList'はリストと配列を扱いますが、 'IList 'のメソッドが必要ない場合は 'IEnumerable 'を使うことができます。 –