C# List
-
Merhaba arkadaşlar şöyle bi listem var
public static List<skilldata> skilldatalist = new List<skilldata>();
public struct skilldata
{
public skilldata(string ID, string mediaSkillname, string Skillname)
{
skillid = ID;
mediaskillname = mediaSkillname;
skillname = Skillname;
}
public string skillid;
public string mediaskillname;
public string skillname;
}
buna yaklaşık 5000+ satır ekliyorum ama istediğim satırdaki verileri nasıl alabilirm çözemedim
mesela 1. satırın skillid kısmında yazan değeri çekmek istiyorum yardım edebilecek varmı ?
-
skilldatalist[indexnumarası].filed
ör: skilldatalist[0].mediaskillname.tostring();
gibi.
içindeki bir veriyi bulmak için linq kullan.en kolay öyle olur.
-
skilldatalist[0].skillid olmuyor mu?
-
Arkadaşların gösterdiği formatta verilere ulaşabilirsin. Liste içinde arama tarama yapmak özel istersen LINQ ve dünyalar güzeli PLINQ ye bak derim.
-
çok sağolun öyle hiç denememiştim
skilldatalist[0] denedim olmamıştı
hemen deniyorum
//skilldatalist[5].skillid çalışıyor sağolun
-
Yine bi sorun var arkadaşlar konu açmak istemedim buradan sorayım soruyu.
Yukardaki yöntem ile bi tane satırdaki veriyi alabiliyorum.
peki satırları nasıl silebilirim?
birde skilldatalist[5].skillid = 55 yazıp o değeri değiştirmek istiyorum yine kabul etmiyor nasıl yapmalıyım ?
-
ZodoR bunu yazdı:
-----------------------------Yine bi sorun var arkadaşlar konu açmak istemedim buradan sorayım soruyu.
Yukardaki yöntem ile bi tane satırdaki veriyi alabiliyorum.
peki satırları nasıl silebilirim?
birde skilldatalist[5].skillid = 55 yazıp o değeri değiştirmek istiyorum yine kabul etmiyor nasıl yapmalıyım ?
-----------------------------skilldatalist.RemoveAt(5) şeklinde o kaydı silebilirsin. ayrıca skilldatalist[5].skillid = 55 yazarak o kaydı değiştirebilmen lazım, nasıl bir hata alıyorsun onu yaz yardımcı olmaya çalışalım..
-
Data.worldmoblist.RemoveAt[i]; //i inci satırı komple sil
Hata: Cannot apply indexing with [] to an expression of the 'method group'
Bu da çalışmadı benim listemde birden çok stun var sorun olurmu ?
Data.worldmoblist[i].y = 55 //i inci satırın y stununu 55 yap
Hata: Cannot modify the return value of 'System.Collections.Generic.List<deneme.Data.worlmob>.tihs[int]' because it is not a veriable
-
ZodoR bunu yazdı:
-----------------------------Data.worldmoblist.RemoveAt[i]; //i inci satırı komple sil
Hata: Cannot apply indexing with [] to an expression of the 'method group'
Bu da çalışmadı benim listemde birden çok stun var sorun olurmu ?
Data.worldmoblist[i].y = 55 //i inci satırın y stununu 55 yap
Hata: Cannot modify the return value of 'System.Collections.Generic.List.tihs[int]' because it is not a veriable
-----------------------------RemoveAt'ten sonra KÖŞELİ PARANTEZ [] DEĞİL, PARANTEZ YAPACAKSIN ()
"Data.worldmoblist[i].y" bölümünde verdiği hata senin struct yapıyor olmandan kaynaklanıyor olabilir. class a çevir struct u tekrar dene.
-
çok teşekkürler hallettim.
sadece tek stunu değiştiremedim bütün satırı değiştirdim
double distance = Math.Sqrt((Character.x - xi) ^ 2 + (Character.y - yi) ^ 2);
string dist = Data.worldmoblist[i].distance;
string mobid = Data.worldmoblist[i].id;
string mname = Data.worldmoblist[i].name;
string xx = Data.worldmoblist[i].x;
string yy = Data.worldmoblist[i].y;
string st = Data.worldmoblist[i].state;
string typ = Data.worldmoblist[i].type;
Data.worldmob up = new Data.worldmob(mobid,Convert.ToString(xi), Convert.ToString(yi), Convert.ToString(distance), typ, st, mname);
Data.worldmoblist[i] = up;
-
generic listlerde işlem yapmanın en kolay yolu linq yu öğrenmek olur. Öğrenmek deyince aklına zor birşeyler gelmesin yaz linq örnekleri diye basit işini kolaylaştıran bir görmede anlayacağın şeyler çıkıcak.Bakar bir iki uygulamaya kaparsın.1 saatini alır.