Dalam kode saya perlu menggunakan IEnumerable<>
beberapa kali sehingga mendapatkan kesalahan Resharper dari "Kemungkinan beberapa enumerasi IEnumerable
".
Kode sampel:
public List<object> Foo(IEnumerable<object> objects)
{
if (objects == null || !objects.Any())
throw new ArgumentException();
var firstObject = objects.First();
var list = DoSomeThing(firstObject);
var secondList = DoSomeThingElse(objects);
list.AddRange(secondList);
return list;
}
- Saya dapat mengubah
objects
parameter menjadiList
dan kemudian menghindari kemungkinan beberapa enumerasi tetapi kemudian saya tidak mendapatkan objek tertinggi yang bisa saya tangani. - Hal lain yang dapat saya lakukan adalah mengonversikan
IEnumerable
keList
di awal metode:
public List<object> Foo(IEnumerable<object> objects)
{
var objectList = objects.ToList();
// ...
}
Tapi ini hanya canggung .
Apa yang akan Anda lakukan dalam skenario ini?