【发布时间】:2020-08-18 17:12:10
【问题描述】:
您好,我正在尝试将 IEquatable 添加到我的程序中,但我不知道是否需要添加唯一的 ID 和哈希码?他们在 IEquatable 中使用 shd 编号作为唯一 id,但他们在构造函数中为其赋值,我在此站点上询问构造函数是否需要看起来像文档中的那样,我得到了否定。所以现在我很困惑,有人能给我一个比文档更简单的 IEquatable 示例吗?这是文档https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1?view=netcore-3.1 的链接,我只是想获取包含以使自定义对象列表起作用。
我的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DataConverter.Objects
{
public class Category : IEquatable<Category>
{
public string _Name { get; set; }
public string _Id { get; set;}
private string _HomeCategory { get; set; }
public string _prestaId { get; set; }
public bool _inUse { get; set; }
public Category(string Name, string Id, string HomeCategory, bool inUse)
{
_Name = Name;
_Id = Id;
_HomeCategory = HomeCategory;
_inUse = inUse;
}
public bool Equals(Category other)
{
if (other == null)
return false;
if()
}
}
}
【问题讨论】:
-
什么是“shd 号”? (还有一些标点符号可以帮助 - 至少我 - 更好地理解你的问题)
-
你能分享你的代码吗,也许我们会帮助理解这个问题?
-
I am just trying to get contains for a custom object list to work- 然后实现GetHashCode和Equals? -
添加完成的代码
-
是的,但问题是如何实现这一点,我的意思是如果有更简单的方法来举例说明 IEquatable
标签: c# list contains iequatable