Я работаю с каркасом на ежедневной основе, где мы иногда предоставляем методы, которые принимают IEnumerable<MyBusinessObject>
в качестве параметра, чтобы показывать пользовательские интерфейсы, выполнять вычисления и т.д.
Если я передаю массив из MyBusinessObject
так:
MyBusinessObject[] myArray = new MyBusinessObject { obj1, obj2, ..., objN };
frameworkClass.MyMethod(myArray);
....
public class FrameworkClass
{
public void MyMethod(IEnumerable<MyBusinessObject> objs)
{
// Other code that uses the enumerable
MyBusinessObject[] objectArray = objs.ToArray();
// More code that uses the enumerable
}
}
Ли строка objs.ToArray()
просто разрешает IEnumerable<MyBusinessObject>
вернуться к исходному массиву или скопирует его в совершенно новый массив, готовый к использованию?