Veritabanından çektiğim kategori navigasyonu için tekrardan veritabanı işlemleri yapmamak adına pratik bir fonksiyon yazayım dedim. Fonksiyon Ürünler » Çikolatalar » Alpella gibi bir metinsel ifadeyi Alpella « Çikolatalar « Ürünler şekline çevirmekte kullanılabilir. Stackoverflow’da sorduğum soruya daha kısa alternatif ise Linq sınıfını kullanan bir kod tavsiye edildi. Onu da altta veriyorum.
public static string ReverseString(string input, string separator, string outSeparator)
{
string result = String.Empty;
string[] temp = Regex.Split(input, separator, RegexOptions.IgnoreCase);
Array.Reverse(temp);
for (int i = 0; i < temp.Length; i++)
{
result += temp[i] + " " + outSeparator + " ";
}
return result;
}
Not: System.Text.RegularExpressions sınıfını kullanır.
Stackoverflow alternatifi:
public static string ReverseString(string input, string separator, string outSeparator)
{
return String.Join(" " + outSeparator + " ", input.Split(new[] { " " + separator + " " }, StringSplitOptions.RemoveEmptyEntries).Reverse().ToArray());
}
Not: System.Linq sınıfını kullanır.
Ayrıca stackoverflow tavsiyelerine göre fonksiyonu StringBuilder ile kullanmak uzun metinsel ifadelerde performans sağlayacaktır:
public static string ReverseString(string input, string separator, string outSeparator)
{
StringBuilder result = new StringBuilder();
string[] temp = Regex.Split(input, separator, RegexOptions.IgnoreCase);
Array.Reverse(temp);
for (int i = 0; i < temp.Length; i++)
{
result.Append(temp[i] + " " + outSeparator + " ");
}
return result.ToString();
}


