的方式,我有OBJ文件所有與obj定義爲這樣的一個HashSet:最佳搜索HashSet的
public class Obj
{
private int _id;
private string _desc;
private int _sum;
public int Id
{
get { return _id; }
set { _id = value; }
}
public string Description
{
get { return _desc; }
set { _desc = value; }
}
public int Sum
{
get { return _sum; }
set { _sum = value; }
}
public Obj(int id, string desc, int sum)
{
_id = id;
_sum = sum;
_desc = desc;
}
public override bool Equals(Obj other)
{
return this._sum == other._sum
&& this._desc == other._desc;
}
public override int GetHashCode()
{
int hash = 13;
hash = (hash * 7) + _sum.GetHashCode();
hash = (hash * 7) + _desc.GetHashCode();
return hash;
}
}
這工作得很好,但我無法從HashSet的檢索時HashSet.Add(obj)
返回false。在這種情況下,檢索HashSet
中已包含的Obj
的_id
的最佳方法是什麼?
Double'_'s?錯誤與否? –
私有變量的任何原因。你可以做'公衆詮釋ID {get; set;}' – gunr2171
@newStackExchangeInstance對不起,這是一個錯字。 – ashishduh