I deal with a framework on a daily basis where we sometimes provide methods that accept IEnumerable<MyBusinessObject>
as a parameter in order to show user interfaces, perform calculations etc.
If I pass in an array of MyBusinessObject
like so:
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
}
}
Does the line objs.ToArray()
simply resolve the IEnumerable<MyBusinessObject>
back to the original array, or does it copy it to a whole new array, ready for use?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…