4 Eylül 2015 Cuma

C# ile dizinin boş elemanlarını temizleme

C# ile dizinin boş elemanlarını temizleme


Bir string dizimiz olsun ve içinin dolu olduğunu varsayalım:
1
string[] isimler = new string[10];
Dizi elemanlarıı uc uca ekleceyeceğimiz değişken:
1
string Isim = String.Empty;
Bir döngü ile dizinin tüm elemanlarını birleştirelim:
1
2
3
4
5
6
7
for (int i = 0; i < isimler.Length; i++)
{
    if (!String.IsNullOrEmpty(isimler[i]))
    {
        Isim += isimler[i] + "|";
    }
}
String.IsNullOrEmpty methodu string değerin boş yada değersiz olduğunu döndürür.
Daha sonra Isim değişkenine dizi elemanını ve “|” karakterini ekledik.
Şimdi birleştirilen diziyi ayrıştıralım:
1
string[] YeniIsimler = Isim.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
Split methodu metni parçalamaya yarar. StringSplitOptions.RemoveEmptyEntries ile de boş elemanları döndürmedik.
İsterseniz işlemi method haline de getirebiliriz:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private string[] CleanNulled(string[] array)
{
    string Items = String.Empty;
 
    for (int i = 0; i < array.Length; i++)
    {
        if (!String.IsNullOrEmpty(array[i].Trim()))
        {
            Items += array[i] + "|";
        }
    }
 
    string[] clean = Items.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
    return clean;
}
Kullanımı ise şu şekilde:
1
2
string[] AlinanIsimler = new string[10];
string[] Isimler = CleanNulled(AlinanIsimler);