C# String Dizisini String Uzunluğuna Göre Sıralama
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;
}
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 başlıklar:
- C# String Dizisini String Uzunluğuna Göre Sıralamak
- Belirlediğiniz şablonda rastgele string üretmek
- C# string sınıfı ve özellikleri
- C# ile string sınıfına ContainsText isimli ExtensionMethod yazalım
- String tipinde değişkenin hafızada kapladığı alan
- Dizi oluşturma ve sıralama
- Kısa Sınav – 15
- Dizide bir elemandan kaç adet olduğunu bulalım
- C# String’i Title Case’e (Kelimelerin Baş Harfleri Büyük Gerisi Küçük) Çevirme
- Nullable Tipler
C#, Programlama
array, comparison, csharp, delegate, length, sort, string, toarray