class hakkında...

C# (C Sharp) veya Java ile ilgili konuları buraya yazabilirsiniz.
Cevapla
yusuf
Üye
Mesajlar: 139
Kayıt: 20 Tem 2005 11:05
Konum: İSTANBUL

class hakkında...

Mesaj gönderen yusuf »

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).
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Soruyu İlgili forum a taşıdım

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;
gibi yada

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;
..
..
gibi..
DeveloperToolKit

..::|YeşilMavi|::..
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

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
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Kompleks olmayan ve belli ufak tefek boyuttaki işlemler için array ın hiçbir sakıncası yok, bu işler için araylist gibi hantal bir diziye gerek yok. Tabi onuda kullanışlı olduğu yerler oluyor ama basit işlemler için array kafi.
DeveloperToolKit

..::|YeşilMavi|::..
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

C# da Array size'ini degistirmek icin bir komut var mi? Yoksa c++ daki gibi mi yapiliyor?
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Glen yazdı:C# da Array size'ini degistirmek icin bir komut var mi? Yoksa c++ daki gibi mi yapiliyor?
Hayır hazır bir komut yok, C++ daki mantık gibi olsada daha basit.
ö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;
DeveloperToolKit

..::|YeşilMavi|::..
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

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?
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Ş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?
DeveloperToolKit

..::|YeşilMavi|::..
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

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?
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:
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

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:
Anlamakta güçlük çekiyorsunuz sanırım..

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
ve Her Add Fonksiyonunu çalıştırdığınızda eğer kapasiteye ulaşmışsanız kullansanızda kullanmasanızda kapasite 2 katına çıkarılır.
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 :wink:
DeveloperToolKit

..::|YeşilMavi|::..
Cevapla