
نوشته شده توسط
navbas
دوستان من با collation فارسی Persian_100_CI_AI یه مشکلی دارم
در هنگام sort کردن حرف <آ> (الف با مد یا کلاه) بعد از <ا> (الف معمولی) قرار میگیره
از SQL Express 2012 استفاده میکنم
راه حلی وجود داره؟
در C# با کدی شبیه کد زیر میتونی مرتب سازیتو اصلاح کنی
public class FarsiComparer : IComparer<string> {
public int Compare(string x, string y)
{
if (x.ToCharArray()[0] =='آ' && y.ToCharArray()[0] !='آ')
return -1;
if (x.ToCharArray()[0] == 'ا' && y.ToCharArray()[0] == 'آ')
return 1;
return String.Compare(x, y);
}
}
حالا میتونی برای مرتب سازی از کلاسی که بالا تعریف شده استفاده کنی
var result = list.OrderBy(f => f, new FarsiComparer());