C# List Eleman Karşılaştırma
-
List<String> list = new List<String>();
seklinde olusturdugum ve list.add(); icine string degerler atadıgım bi list var içindeki değerlerde aynı olanlar var bunları tespit edip silmem gerek bunun için ne ve nasıl yapabilirim simdiden teşekkürler. -
dosyalarıda paylassaydın yardımcı olabılınırdı
-
emnimax bunu yazdı
dosyalarıda paylassaydın yardımcı olabılınırdı
dosyalar derken hocam sadece string degerleri var
ornek
http://www.warofclicks.com/WarGrid/View/126ebb85-8915-4155-8bae-4cf2fe1c09fc
http://www.warofclicks.com/WarGrid/View/c5c3909e-2580-487e-8a7b-67fb8e0ea1df
http://www.warofclicks.com/WarGrid/View/3a2fbd48-95c9-4ae0-a265-39fad8b2b88d
http://www.warofclicks.com/WarGrid/View/2d1c99f8-ccf3-4dff-9355-8509ccfb8cbd
http://www.warofclicks.com/WarGrid/View/c5c3909e-2580-487e-8a7b-67fb8e0ea1df
...
mesela yukarda aynı 2 tane var bunlar listin elemanları her biri
bunlar gibi 10 tane var diyelim ama aynısından 2 veya 3 tane olabiliyor bu listede istediğim bu fazlalıkları cıkartmak sadece aynısından 1 tane bırakmak. teşekkürler
doz4 tarafından 05/Oca/15 19:17 tarihinde düzenlenmiştir -
Distinct() metodu benzersiz Itemleri döndürür IEnumerable olarak.
liste = new List<string>(liste.Distinct());
Fdumanli tarafından 05/Oca/15 19:35 tarihinde düzenlenmiştir -
Bu amaç için List yerine HashSet kullanman daha uygun olmaz mı?
-
List<string> kelimeler = new List<string> { "aa","aa","bb","cc"}; kelimeler = kelimeler.Distinct().ToList(); foreach (string age in kelimeler) { Console.WriteLine(age); } Console.Read(); //Output //aa //bb //ccDaha fazlası için bak linq
-
en başta stringlerini eklerken list içinde zaten olup olmadığını kontrol edebilirsin. list.Contains("abc")
-
Aslında sırası önemli değilse ve sadece farklı elemanları tumak istiyorsan List<string> yerine Hashset<string> kullanmak iseyebilirsin. Sayı 50 yi geçtiğinde farkedilir bir hız artışı sağlar.
