namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// A 和 B 小寫在前面;C 和 D 大寫在前面
List<String> demo = new List<String>()
{
"a" , "A" ,
"b" , "B" ,
"C" , "c" ,
"D" , "d"
};
// 區分大小寫
var result = demo.OrderBy(e => e);
// 不區分大小寫
var result = demo.OrderBy(e => e , StringComparer.CurrentCultureIgnoreCase);
// 自訂排序
var result = demo.OrderBy(e => e, new CustomOrder());
foreach (var item in result)
{
Console.WriteLine(item.ToString());
}
}
}
///
/// 把大寫 C 放在最前面,其它不區分大小寫
///
public class CustomOrder : IComparer<String>
{
public int Compare(string x, string y)
{
if (x.Equals("C")) return -1;
else if (y.Equals("C")) return 1;
return string.Compare(x, y , true);
// 或
return string.Compare(x, y, StringComparison.OrdinalIgnoreCase);
}
}
}
區分大小寫不區分大小寫
自訂排序
沒有留言:
張貼留言