SORU
5 Mayıs 2010, ÇARŞAMBA


() ToList-- Yeni bir Liste Oluşturmak Mı?

Hadi bir sınıf var diyelim

public class MyObject
{
   public int SimpleInt{get;set;}
}

** 3 ve ToList() ben ve benim değiştirmek orijinal listeye geri bulaşan bir değiştirin. Diğer bir deyişle, aşağıdaki yöntem çıktısı ne olur?

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;

}

Neden?

P/S: Eğer açık bulmak gibi görünüyor. üzgünüm Ama benimle derleyici artık yok...

CEVAP
5 Mayıs 2010, ÇARŞAMBA


, ToList Evet yeni bir liste oluşturur, ama bu durumda MyObject bir başvuru türüdür çünkü o zaman yeni liste orijinal liste aynı nesnelere başvurular içerir.

Nesneyi yeni listesinde başvurulan SimpleInt güncelleme özelliği de özgün listesinde eşdeğer nesne etkileyecektir.

(MyObject ilan edildi gibi bir struct yerine class sonra yeni bir liste olur kopyalarını içeren unsurları içinde orijinal liste ve güncelleme bir özellik unsuru yeni listedeğilorijinal listesinde eşdeğer unsur etkiler.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • El SalvaLobo

    El SalvaLobo

    10 Temmuz 2006
  • Joshua Benedict

    Joshua Bened

    26 EKİM 2013
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011