() ToList-- Yeni bir Liste Oluşturmak Mı? | Netgez.com
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

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • jonathepianist

    jonathepiani

    31 Temmuz 2008
  • MisterBrightside

    MisterBright

    24 Mart 2006