मान लीजिए कि मेरे पास एक क्लास है
public class MyObject
{
public int SimpleInt{get;set;}
}
और मेरे पास एक है List<MyObject>, और मैं ToList()इसे और फिर उनमें से एक को SimpleIntबदल देता हूं, क्या मेरे परिवर्तन को मूल सूची में वापस प्रचारित किया जाएगा। दूसरे शब्दों में, निम्नलिखित विधि का आउटपुट क्या होगा?
public void RunChangeList()
{
var objs = new List<MyObject>(){new MyObject(){SimpleInt=0}};
var whatInt = ChangeToList(objs );
}
public int ChangeToList(List<MyObject> objects)
{
var objectList = objects.ToList();
objectList[0].SimpleInt=5;
return objects[0].SimpleInt;
}
क्यों?
पी / एस: मुझे खेद है अगर यह पता लगाना स्पष्ट लगता है। लेकिन अब मेरे साथ कंपाइलर नहीं है ...
.ToList()बनाता है । संदर्भों की नकल की जाती है, लेकिन नए संदर्भ अभी भी उन्हीं उदाहरणों की ओर इशारा करते हैं जैसे मूल संदर्भ इंगित करते हैं। जब आप इसके बारे में सोचते हैं, किसी भी नहीं बना सकते जब एक है प्रकार।ToListnew MyObject()MyObjectclass