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
objectsparameter menjadiListdan kemudian menghindari kemungkinan beberapa enumerasi tetapi kemudian saya tidak mendapatkan objek tertinggi yang bisa saya tangani. - Hal lain yang dapat saya lakukan adalah mengonversikan
IEnumerablekeListdi 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?