c# - 通过两个参数对数组进行排序

标签 c# arrays

我对 array.sort 有点困难。我有一个类,这个类有两个字段,一个是随机字符串,另一个是随机数。如果我想用一个参数对它进行排序,它就可以正常工作。但我想用两个参数对它进行排序。第一个是数字的总和(从低到高),然后如果这些数字等于给它们的随机字符串(从低到高)。

你能给我一些提示和提示,我怎样才能“合并”这两种排序?

Array.Sort(Phonebook, delegate(PBook user1, PBook user2)
        { return user1.Sum().CompareTo(user2.Sum()); });
        Console.WriteLine("ORDER");

        foreach (PBook user in Phonebook)
        {
            Console.WriteLine(user.name);
        }

这就是我用一个参数订购它的方式。

最佳答案

我认为这就是您所追求的:

sourcearray.OrderBy(a=> a.sum).ThenBy(a => a.random)

关于c# - 通过两个参数对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13477498/

相关文章:

c# - 跟踪更改(未保存)的对象

c# - 无法将自定义 ActiveX 控件添加到 .NET Core WinForms 应用程序,但 .NET Framework 应用程序工作正常

c# - 从后面的代码获取并设置WPF自定义附加属性

c++ - 不可能的 C++ 数组索引

php - 使用 mysql 中的递归 php 创建数组

javascript - JS 数组字符串补丁名称到数组(对象)

c# - 在sql server 2005、2008、2012上使用smo进行数据库收集

c# - 在 "Real World"中使用 Reactive Extensions

c - 如何从函数返回二维字符串数组到C中的主函数? [警告]从不兼容的指针类型返回

php - 如果数组列表对象的日期(属性)相对于任何其他对象日期在 15 天内,则删除该对象