gpt4 book ai didi

c# - 自定义排序(三个字段上的 IComparer)

转载 作者:行者123 更新时间:2023-12-03 00:44:48 31 4
gpt4 key购买 nike

我有一个包含三个字段的人员类,标题、姓名、性别,我想为其创建一个自定义排序,首先按标题,然后按姓名,然后按性别升序排序:

public class SortPerson : IComparer
{
public int Compare(object x, object y)
{
(…)
}
}

我知道如何只对一个变量进行比较:但是我该如何进行三个呢?

public class SortPerson : IComparer
{

int IComparer.Compare(object a, object b)
{
Person p1=(Person)a;
Person p2=(Person)b;
if (p1.Title > p2.Title)
return 1;
if (p1.Title < p2.Title)
return -1;
else
return 0;
}
}

非常感谢,

最佳答案

//Assuming all the fields implement IComparable
int result = a.field1.CompareTo(b.field1);
if (result == 0)
result = a.field2.CompareTo(b.field2);
if (result == 0)
result = a.field3.CompareTo(b.field3);
return result;

关于c# - 自定义排序(三个字段上的 IComparer),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4501501/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com