C# String Dizisini String Uzunluğuna Göre Sıralama

19 Şubat 2010

C# ile string dizisini elemanların uzunluğuna göre sıralama için aşağıdaki kod kullanılabilir;

private IList<string> SortStringLength(IList<string> arrString) { string[] tmpString = arrString.ToArray<string>(); Array.Sort(tmpString, new Comparison<string>(delegate(string str1, string str2) { if (str1 == null && str2 == null) return 0; ///iki değişkende null else if (str1 == null) return -1; ///birinci değişken null else if (str2 == null) return 1; ///ikinci değişken null else { if (str1.Length < str2.Length) return -1; ///birinci değişken daha kısa else if (str1.Length > str2.Length) return 1; ///ikinci değişken daha kısa else return str1.CompareTo(str2); ///iki değişken aynı uzunlukta, alfabetik sıralama yapılıyor } }));

return tmpString; }</pre>
string[] OrnekDizi = { "333", null, "1", "22", "12", "4444" };
OrnekDizi = (string[])SortStringLength(OrnekDizi);

foreach (string s in OrnekDizi)
    Console.WriteLine(s);

// Console Çıktısı:
// [null]
// 1
// 12
// 22
// 333
// 4444


Bu kodu kullanarak sıraladığınız string dizisinde, elemanlar önce uzunluklarına göre sıralanacaktır. Aynı uzunlukta olan elemanlar ise alfabetik dizilime göre sıralanacaktır.

İlgili diğer makaleler

blog comments powered by Disqus

Emre Ozcan hakkında

Sistem Yöneticisi, Bilişim Teknoloji Takipçisi

#microsoft #VoIP

Kategoriler

İstatistik

Makale Adedi: 290

Creative Commons Lisansı