gpt4 book ai didi

c# - 用字符串实现 IComparable

转载 作者:行者123 更新时间:2023-12-05 05:20:29 25 4
gpt4 key购买 nike

我有 Employee 类,我需要实现 IComparable 并使用 CompareTo 方法按姓名对员工进行排序。据我所知,我必须返回 1、-1 和 0,但我该如何使用这些字符串?

这是我的。

class Employee : IComparable<Employee>
{
string name;
string address;

public int CompareTo(Employee obj)
{
Employee person = obj;
}
}

最佳答案

最简单的方法就是将它传递给一个已经实现的比较方法。在这种情况下,由于您只需要比较两个字符串,您可以调用 String.Compare:

class Employee : IComparable<Employee>
{
string name;
string address;

public int CompareTo(Employee obj)
=> string.Compare(name, obj.name);
}

您也可以使用 name.CompareTo(obj.name),但是您需要担心 name 是否可能为 null。根据the MSDN articleString.Compare 上:

One or both comparands can be null. By definition, any string, including the empty string (""), compares greater than a null reference; and two null references compare equal to each other.

关于c# - 用字符串实现 IComparable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44580026/

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