欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > C# —— Sort排序

C# —— Sort排序

2024/11/30 8:40:04 来源:https://blog.csdn.net/lu2023_8_6/article/details/140387505  浏览:    关键词:C# —— Sort排序

Array.Sort(ints);// 默认的排序方式 正序排序

int[] ints = { 1, 2, 3, 89, 20, 100 };
Console.Write(string.Join(",", ints));

参数1 是排序的数组,参数2 是函数 函数的两个参数 是数组的两个元素,

当返回x-y 正序排序

Array.Sort(ints, (x, y) => x - y);// 正序排序
Console.Write(string.Join(",", ints));

当返回y-x 正序排序

Array.Sort(ints, (x, y) => y - x);// 倒序排序
Console.WriteLine(string.Join(",", ints));

数组的元素是字符串 字符串也可以进行比较

因为字符串不能使用x-y这种方式进行比较
           使用 CaseInsensitiveComparer.Default.Compare 对数字 字符串 汉字都可以进行对比
           return CaseInsensitiveComparer.Default.Compare(x, y); // 正序排序

string[] strings = { "ad", "啊", "d", "ac", "9", "1", "中" };
Array.Sort(strings, (x, y) =>
{return CaseInsensitiveComparer.Default.Compare(y, x);// 倒序排序
});
Console.WriteLine(string.Join(",", strings));

 实例:

string[] pukes = { "大王", "3", "8", "10", "J", "小王", "2" };string[] leve1 = { "大王", "小王", "2", "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3" };Array.Sort(pukes, (x, y) =>
{// 将x和y转换对应的数字level数组的数字int levex = Array.IndexOf(leve1, x);// 获取原数组x 在leve1数组的索引值int levay = Array.IndexOf(leve1, y);// 获取y在leve1数组的索引值return levex - levay;
});Console.WriteLine(string.Join(",", pukes));

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com