我試圖找到一種正確的方法來在具有 class 屬性的字典中找到鍵。例如,請參閱下面的代碼 - ContainsKey 出錯,因為在密鑰是 UserServiceData 時,此 ContainsKey(string) 簽名沒有實現(xiàn)。我該如何解決這個問題?class UserServiceData { string name; int someDate; int someData1;}class B{ public static Dictionary<UserServiceData, IClientKdcCallBack> users_list = new Dictionary<UserServiceData, IClientKdcCallBack>; void isUserExists(string userName) { m_users_list.ContainsKey(userName) }}
3 回答

慕容森
TA貢獻1853條經(jīng)驗 獲得超18個贊
您也可以嘗試編寫自己的相等比較器。
private class UserServiceDataEqualityComparer : IEqualityComparer<UserServiceData>
{
public bool Equals(UserServiceData x, UserServiceData y)
{
return x.name == y.name;
}
public int GetHashCode(UserServiceData obj)
{
return obj.name.GetHashCode();
}
}
然后像這樣聲明你的字典..
var list = new Dictionary<UserServiceData, IClientKdcCallBack>(new UserServiceDataEqualityComparer());
然后你可以這樣做
list.ContainsKey(UserServiceDataObj)
- 3 回答
- 0 關(guān)注
- 223 瀏覽
添加回答
舉報
0/150
提交
取消