>

저는 전자 공학을 공부하고 있으며 C #의 초보자입니다. 데이터를 측정했으며 2 개의 디멘션 방식으로 저장하고 싶습니다. 다음과 같은 사전을 만들 수 있다고 생각했습니다.

Dictionary<Key, string>dic = new Dictionary<Key, string>();

"Key"는 두 개의 int 변수가있는 자체 클래스입니다. 이제이 사전에 데이터를 저장하려고하지만 지금까지 작동하지 않습니다. 특수 키로 데이터를 읽으려면 사전에 키를 사용할 수 없다는 오류 보고서가 표시됩니다.

여기 클래스 키 :

public partial class Key
{
    public Key(int Bahn, int Zeile) {
    myBahn = Bahn;
    myZeile = Zeile;
}
    public int getBahn()
    {
        return myBahn;
    }
    public int getZeile()
    {
        return myZeile;
    }
    private  int myBahn;
    private int myZeile;
}

테스트하기 위해 다음과 같이 만들었습니다 :

엘레 멧 받기 :

Key KE = new Key(1,1);
dic.Add(KE, "hans");
...

엘레 멧 꺼내기 :

Key KE = new Key(1,1);
monitor.Text = dic[KE];

다른 사람이 있습니까?

  • 답변 # 1

    GetHashCode 메소드를 대체해야합니다.  그리고 Equals  자신의 수업에서 키로 사용합니다.

    class Foo 
    { 
        public string Name { get; set;} 
        public int FooID {get; set;}
        public override int GetHashCode()             
        {  
               return FooID; 
        }
         public override bool Equals(object obj) 
        { 
                 return Equals(obj as Foo); 
        }
        public bool Equals(Foo obj)
         { 
              return obj != null && obj.FooID == this.FooID; 
         }
    }
    
    

  • 이전 swift - macOS에 중점을 두지 않고 창을 표시하는 방법은 무엇입니까?
  • 다음 reactjs - pagedatajson 404를 찾을 수 없으며 componentDidMount ()가 프로덕션에서 실행되지 않습니다