Zweidimensionales assoziatives Array



  • Hi,

    gibt es in C# eine Möglichkeit ein zweidimensionales assoziatives Array zu erstellen. Eindimensional geht, da gibt es ja das Dictionary. Für Mehrdimensionale habe ich leider nichts gefunden.

    Gruß
    Markus



  • Mach doch Dictionaries von Dictionaries...



  • Dictionary<Key1, Dictionary<Key2, Value>>
    


  • Oder

    public struct Double<T1, T2>
        {
            public Double(T1 first, T2 second)
                : this()
            {
                First = first;
                Second = second;
            }
    
            public T1 First { get; private set; }
            public T2 Second { get; private set; }
    
            public override String ToString()
            {
                //TODO:
                return String.Format("{0}, {1}", First, Second);
            }
    
            public override int GetHashCode()
            {
                // Vielleicht Hash-Funktion verbessern, damit eindeutigere Werte ausgegeben werden können.
                return (First == null ? 0 : First.GetHashCode()) ^ (Second == null ? 0 : Second.GetHashCode());
            }
        }
    
    //Benutzung
    Dictionary<Double<Key1, Key2>, Value>
    

    Mich würde mal interessieren: Was ist schneller: theta / Helium oder meiner?



  • Rhombicosidodecahedron schrieb:

    Mich würde mal interessieren: Was ist schneller: theta / Helium oder meiner?

    Hängt vom verwalteten Typ ab.
    Double verwaltet man eh nicht so, weil da hat man ja immer minimale Rechenfehler und findet nix wieder.
    Bei Int32 rockst Du die Bude.
    Bei Strings dürfte die Schachtelung gewinnen.
    Hängt aber zusätzlich von der Verwendung ab, wie oft wird auf nicht-existierende Paare gesucht, sind die Zugriffe oft der Reihe nach und so Sachen.
    Die Lösungen unterscheiden sich aber im Normalfall nur ganz unwesentlich.



  • danke, wolte nur wissen


Log in to reply