Announcement

Collapse
No announcement yet.

2D-Liste

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • 2D-Liste

    Wenn ich auf ein Element innerhalb einer VB .NET-liste zugreifen möchte, dann gebe ich einen Index an:
    Code:
    element = liste(index)
    Allerdings möchte ich jetzt 2-dimensionale Indizes verwenden.
    Ich stelle mir das ungefähr so vor:
    Code:
    element = liste(index1x, index2y)
    Oder nur bei bekanntem X-Wert, alle Einträge, die auf diesem X-Wert liegen:
    Code:
    elemente = liste(index1x, System.DBNull.Value)
    Oder nur bei bekanntem Y-Wert, alle Einträge, die auf diesem Y-Wert liegen:
    Code:
    elemente = liste(System.DBNull.Value, index1y)
    Gibt es hierzu möglicherweise bereits eine native Klasse in VB .NET?

    Vielen Dank für eure freundliche Hilfe und Unterstützung!
    Mit freundlichen Grüßen
    Innocentus

  • #2
    Hallo,

    diese Möglichkeit gibts nur bei Fortran (und davon aufbauende Programmiersprachen wie Matlab). D.h. in .NET gibts nichts eingebautes.

    Auf Zeilen/Spalten einer Matrix kann jedoch mit der GetValue-Methode zugegriffen werden indem dieser Methode ein Array mit den Indizes übergeben wird der betroffenen Elemente übergeben wird. D.h. du kannst dir eine Hilfsfunktion erstellen die das Index-Array erstellt und dein gewünschtes Verhalten bauen.

    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Du könntest ein DataTable zur Speicherung der Werte verwenden. Dieses bietet die Möglichkeit auf Reihen- und Spaltenvektoren zugreifen zu können.

      Oder: http://www.codeproject.com/KB/recipes/dynmatrixmath.aspx

      mfG Gü
      Zuletzt editiert von gfoidl; 25.11.2008, 11:55. Reason: Link hinzugefügt
      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

      Comment


      • #4
        Matrix-Klasse

        Diese Matrix Klasse sieht sehr interessant aus.
        Gibt es diese Klasse möglicherweise in derselben oder ähnlichen Form für VB .NET?

        Ich danke euch für eure freundliche Hilfe und Unterstützung!
        Mit freundlichen Grüßen
        Innocentus

        Comment


        • #5
          Gibt es diese Klasse möglicherweise in derselben oder ähnlichen Form für VB .NET?
          Die Klasse ist (wenn sie kompiliert ist - wie im Demo) als DLL für alle .net-Sprachen verwendbar, somit auch für VB.net.

          mfG Gü
          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

          Comment


          • #6
            Vielen Dank!

            Vielen Dank!

            Mit freundlichen Grüßen
            Innocentus

            Comment


            • #7
              Nachtrag

              Nachtrag:
              Leider kann ich mir weder den Quelltext noch die kompilierten Dateien von codeproject.com herunterladen.
              Die Dateien scheinen nicht auf dem Server zu sein. - Ich erhalte immer eine Fehlermeldung, dass die Dateien nicht auf dem Server existieren.

              Wie komme ich an diese dll?

              Vielen Dank für eure freundliche Hilfe und Unterstützung!
              Mit freundlichen Grüßen
              Innocentus

              Comment


              • #8
                Hi,

                hab dir das Projekt als DLL kompiliert, aber nicht getestet. -> Anhang.

                Kompiliert für .net 2.0.

                mfG Gü
                Attached Files
                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                Comment


                • #9
                  Vielen Dank!

                  Vielen Dank für die dll!

                  Mit freundlichen Grüßen
                  Innocentus

                  Comment


                  • #10
                    Nachtrag

                    Nachtrag:
                    Wie kann ich einer dreispaltigen Matrix der dritten Spalte ein Objekt zuweisen?
                    Hier ein Beispiel welches bei mir aber leider nicht so recht funktionieren will:
                    Code:
                    obj_matrix(x, y) = obj
                    Originally posted by Compiler
                    [...] kann nicht in "Single" konvertiert werden.
                    Kann man die Matrix möglicherweise spaltenweise templaten?

                    Vielen Dank für eure freundliche Hilfe und Unterstützung!
                    Mit freundlichen Grüßen
                    Innocentus

                    Comment

                    Working...
                    X