class hakkında...
class hakkında...
public class ali{
public string ad;
public string soyad;
public int no;
}
c#'ta bu class'ı bir diziye nasıl atabilirim.
mesela farz edelim ki bu classı diziye attım dizinin adı hesap olsun.
ör/ hesap.ad="ali";
heasp.soyad="veli"
hesap.no05;
bunu nasıl yaparım.yardımcı olan arkadas olursa sevinirim.herkese iyi günler.(yani classı diziye nasıl atabilirim).
public string ad;
public string soyad;
public int no;
}
c#'ta bu class'ı bir diziye nasıl atabilirim.
mesela farz edelim ki bu classı diziye attım dizinin adı hesap olsun.
ör/ hesap.ad="ali";
heasp.soyad="veli"
hesap.no05;
bunu nasıl yaparım.yardımcı olan arkadas olursa sevinirim.herkese iyi günler.(yani classı diziye nasıl atabilirim).
Soruyu İlgili forum a taşıdım
Soruna gelince, cevabı zaten vermişsin,
gibi yada
gibi..
Soruna gelince, cevabı zaten vermişsin,
Kod: Tümünü seç
ali[] ArrayAli = new ali[5];
ArrayAli[0].ad = "aa";
ArrayAli[0].soyad = "bbb";
ArrayAli[0].no = 123;
...
...
ArrayAli[4].ad = "aa";
ArrayAli[4].soyad = "bbb";
ArrayAli[4].no = 123;
Kod: Tümünü seç
object[] ObjectArray = new object[5];
ali ArrayAli = new ali();
ArrayAli.ad = "aa";
ArrayAli.soyad = "bbb";
ArrayAli.no = 123;
ObjectArray[0] = ArrayAli;
..
..
Merhaba,
Ancak dikkat edilmesi gereken birsey var arraylerin size'i dynamic olarak degistirilemiyor. Onun yerine,
<List> veya ArrayList kullanmanizi oneririm. Cagirirken de casting ederek cagiracaksiniz (Arraylist kullaniyorsaniz)..
Bunlari da kullanmak istemiyorum diyorsaniz Linked List kullanmanizi tavsiye ederim.
Kolay gelsin
Ancak dikkat edilmesi gereken birsey var arraylerin size'i dynamic olarak degistirilemiyor. Onun yerine,
<List> veya ArrayList kullanmanizi oneririm. Cagirirken de casting ederek cagiracaksiniz (Arraylist kullaniyorsaniz)..
Bunlari da kullanmak istemiyorum diyorsaniz Linked List kullanmanizi tavsiye ederim.
Kolay gelsin
Hayır hazır bir komut yok, C++ daki mantık gibi olsada daha basit.Glen yazdı:C# da Array size'ini degistirmek icin bir komut var mi? Yoksa c++ daki gibi mi yapiliyor?
örn.
Kod: Tümünü seç
object[] oArrayOld = new object[3] { 1, 2, 3 };
object[] oArrayNew = new object[oArrayOld.Length + 1];
oArrayOld.CopyTo(oArrayNew, 0);
oArrayNew[oArrayNew.Length - 1] = 4;
Peki bisey sormak istiyorum boyle basit isler icin arrayler kafi arraylist gibi hantal bir yapiya gerek yok demi$siniz, madem bu i$ basitse arrayListin ne gibi bir dezavantaji olur yani hantal bir yapiyi basit bir i$te kullanmanin ne gibi dezavantaji var merak ettim.. Veya kisacasi arrayListi nerede kullaniyorsunuz siz?
Şahsen, dizi üzerinde değişiklik yapmayacağım durumlarda, belli bir yapıyı bi derden bi yere taşımak için, bir veri dizisini döndürüp dönen değeri olduğu gibi kullanacağım durumlarda vs vs gibi "basit" durumlarda array kullanıyorum.
Dizi boyutu çok fazla ise, dizinin herbir elemanının boyutu çok fazla ise, ve diziye sıklıkla ekleme çıkarma ve karşılaştırma yapacaksam ArrayList yada <LIST> kullanıyorum.
Bu gibi işlemleri yapmayacaksam neden gereksiz property ve functionları olan bir yapı veya boş yere cast yapmak istiyim?
Dizi boyutu çok fazla ise, dizinin herbir elemanının boyutu çok fazla ise, ve diziye sıklıkla ekleme çıkarma ve karşılaştırma yapacaksam ArrayList yada <LIST> kullanıyorum.
Bu gibi işlemleri yapmayacaksam neden gereksiz property ve functionları olan bir yapı veya boş yere cast yapmak istiyim?
Merhaba, sizce de dedikleriniz biraz celiskili degil mi? Yani "hantal" diye adlandirdiginiz ArrayListleri dizi boyutunun ve elemanlarinin cok fazla oldugu ve performansin daha cok onem kazandigi daha gelismis bir yapida kullanmayi normal gorurken, basit bir islem icin "hantal" diye adlandirdiginiz yapiyi kullanmayi yanlis buluyorsunuz. Ilginc, o zaman kisacasi performansin gerektigi bir projede daha yavas seyler kullanalim ama boyle basit $eyler icin performansi cok onemseyerek daha hizli yapilar kullanalim peki ::duvar:lazio yazdı:Şahsen, dizi üzerinde değişiklik yapmayacağım durumlarda, belli bir yapıyı bi derden bi yere taşımak için, bir veri dizisini döndürüp dönen değeri olduğu gibi kullanacağım durumlarda vs vs gibi "basit" durumlarda array kullanıyorum.
Dizi boyutu çok fazla ise, dizinin herbir elemanının boyutu çok fazla ise, ve diziye sıklıkla ekleme çıkarma ve karşılaştırma yapacaksam ArrayList yada <LIST> kullanıyorum.
Bu gibi işlemleri yapmayacaksam neden gereksiz property ve functionları olan bir yapı veya boş yere cast yapmak istiyim?
Anlamakta güçlük çekiyorsunuz sanırım..Glen yazdı: Merhaba, sizce de dedikleriniz biraz celiskili degil mi? Yani "hantal" diye adlandirdiginiz ArrayListleri dizi boyutunun ve elemanlarinin cok fazla oldugu ve performansin daha cok onem kazandigi daha gelismis bir yapida kullanmayi normal gorurken, basit bir islem icin "hantal" diye adlandirdiginiz yapiyi kullanmayi yanlis buluyorsunuz. Ilginc, o zaman kisacasi performansin gerektigi bir projede daha yavas seyler kullanalim ama boyle basit $eyler icin performansi cok onemseyerek daha hizli yapilar kullanalim peki ::duvar:
Malümünüz ArrayList bir nev-i bağlı listedir, ve üzerinde işlem yapılması gereken durumlarda kullanılması uygun olur diye düşünüyorum.
5 elemanlı bir diziyi bir fonksiyona parametre olarak geçirip, fonksiyon içinden gelen dizinin indislerini değiştirmem gerekmeyen işlemler için ArrayList tercih etmem, Nedeni ise zaten (nesne x 5) boyut bir nesne yaratmışım birde bunun için "hantal" bir nesne instance edip o şekilde taşımama gerek varmıdır?
Hatırlatma..
Kod: Tümünü seç
public class ArrayList : IList, ICollection, IEnumerable, ICloneable
Boxing & Unboxing nedeni ile performansı biraz daha düşürür.
Sizin takıldığınız nokta ise, Dizi boyutu çok fazla ve-veya Büyük boyutlu nesnelerle uğraşıyorsam ArrayList tercih ederim çünkü bu durumda genellikle liste üzerinde işlem yapmam gerekiyordur, kolaylıkla yaparım ve Bağlı liste gibi çalıştığı için güvenle büyük nesnelerimi emanet edebilirim. Her ne kadar performansı düşürsede gerekiyorsa farklı türden nesneleri de saklamak için kullanabilirim.
Kısacası söylemek istediğim gerekiyorsa tabiki kullanırım ama daha basit işlemler için Array kullanırım, bu kabiliyetli ve hantal yapıyı değil.
Siz en ufak işlemlerde bile kullanabilirsiniz
