Diyelim ki bir dizi özel tipim var ve ona 10 tane özel yapı tipi yerleştirdim. CustomType[] Record = new CustomType[10];
Dizinin bir öğesi olan bir yapının tüm alanlarını konsola nasıl gösteririz? C#
Her bir CustomType'ın alanları olması nedeniyle, dizideki CustomType öğelerinin her birine ait alanları atayabilirim. Örneğin :
Record[0].name = "John";
Record[0].age = 34;
ve int ya da tel gibi olağan tipte, dizeye türünün değerini döner .ToString() metodu vardır. Biz
someIntArray[0] = 32;
Console.WriteLine(someIntArray[0].ToString());
vardı Yani eğer Sonra konsolda çıktı "32" değil onun değer türünü, int tanınacak.
Ancak CustomType dizisi ile yukarıdaki örnek ile aynı metodu kullanarak ve geç ise:
Console.WriteLine(Record[0].ToString());
Sonra (kendi alanlarında) nesnesi içeren bu değer (ler) elde olmaz ama bunun türü. Ben mesela yazabilirsiniz Tabii :
Console.WriteLine(Record[0].name + Record[0].age);
Ama yapı çok alanı varsa bu çok hızlı eski ve sıkıcı alır görebilirsiniz. Özellikle de yalnızca bir struct nesnesinin tüm alanlarını, ancak dizideki tüm struct nesnelerini yazdırmak istemiyorsanız.
İşte benim sorum şu: .NET'te bir yöntem var mı, yoksa başka kolay bir yol var mı? Böylece, bir dizi elemanının tüm alanlarını bir yapı gibi daha basit, daha hızlı bir şekilde işleyebilirim (ör., Baskı).
Ve 'Foreach' denedik ama her alanda şeyler yapmak, yapılar ile çalışmaz:
Böylece açıkça söylemek zorunda değilsiniz. –
@AlexD Console.WriteLine (Record [0]) yazarımsa '' CustomType 'yazdıracaktır. –
Bir uzantı yöntemi olan IMHO kullanarak favorim. – code4life