ধরা যাক আমার একটা ক্লাস আছে
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()
একটি তোলে অগভীর কপি। তথ্যসূত্রগুলি অনুলিপি করা হয়েছে, তবে নতুন উল্লেখগুলি এখনও একই সূত্রগুলিতে নির্দেশ করে যা মূল উল্লেখগুলি উল্লেখ করে। আপনি যখন এটি ভাবেন তখন কোনও প্রকারের মতোToList
তৈরি করতে পারবেন না ।new MyObject()
MyObject
class