Trong mã của tôi, tôi cần phải sử dụng IEnumerable<>
nhiều lần, do đó nhận được lỗi Chia sẻ lại "Có thể liệt kê nhiều lần IEnumerable
".
Mã mẫu:
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;
}
- Tôi có thể thay đổi
objects
tham số thànhList
và sau đó tránh nhiều phép liệt kê nhưng sau đó tôi không nhận được đối tượng cao nhất mà tôi có thể xử lý. - Một điều khác mà tôi có thể làm là chuyển đổi
IEnumerable
thànhList
ở đầu phương thức:
public List<object> Foo(IEnumerable<object> objects)
{
var objectList = objects.ToList();
// ...
}
Nhưng điều này chỉ là khó xử .
Bạn sẽ làm gì trong kịch bản này?