아래에 표시된 키가 있습니다. Dictionary<ValuesAandB, string>
이 사전에서 키를 찾으려고 할 때 문제가 있습니다. 찾지 못합니다. 그것은 전혀. 보시다시피, Equals
및 GetHashCode
을 재정의했습니다.사전의 키로 사용되었지만 키를 찾을 수없는 사용자 정의 클래스
는 내가 부족 다른 있나요 내가
ValuesAandB key = new ValuesAandB(A,B);
if (DictionaryName.ContainsKey(key)) {
...
}
사용하고 키를 찾으십시오? 아무도 내가 잘못하고있는 것을 지적 할 수 있습니까?
private class ValuesAandB {
public string valueA;
public string valueB;
// Constructor
public ValuesAandB (string valueAIn, string valueBIn) {
valueA = valueAIn;
valueB = ValueBIn;
}
public class EqualityComparer : IEqualityComparer<ValuesAandB> {
public bool Equals(ValuesAandB x, ValuesAandB y) {
return ((x.valueA.Equals(y.valueA)) && (x.valueB.Equals(y.valueB)));
}
public int GetHashCode(ValuesAandB x) {
return x.valueA.GetHashCode()^x.valueB.GetHashCode();
}
}
}
누구나 물어보기 전에 값은 사전에 있습니다.
예, 게시판에 달린 의견과 답은 밝혀졌지만 Greg Beech는 앞서 당신을 압도했습니다. 도움을 주셔서 감사합니다. –