List of t mit eigener Class

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von frifri.

    List of t mit eigener Class

    Hallo,

    ich hab mir ne Klasse erstellt und wollte eine List of t mit dieser Klasse erstellen.
    geht aber irgendwie nicht wie gewünscht.

    VB.NET-Quellcode

    1. Public Class Übersicht
    2. 'Die Arrays um die Übersicht zu erstellen
    3. Public KontoNr As Integer
    4. Public Name As String
    5. Public Soll As Double
    6. Public gezahlt As Double
    7. Public Monate As Integer
    8. Sub New(_KontoNr As Integer, _Name As String, _Soll As Double, _gezahlt As Double, _Monate As Integer)
    9. _KontoNr = KontoNr
    10. _Name = Name
    11. _Soll = Soll
    12. _gezahlt = gezahlt
    13. _Monate = Monate
    14. End Sub
    15. End Class


    VB.NET-Quellcode

    1. DatensatzÜbersicht.Add(New Übersicht(1010, "Müller", 100.11, 200.22, 10))


    wenn ich jetz mit

    VB.NET-Quellcode

    1. For a = 0 To DatensatzÜbersicht.Count - 1
    2. Console.WriteLine("KontoNr: " & DatensatzÜbersicht(a).KontoNr &
    3. " Name: " & DatensatzÜbersicht(a).Name &
    4. " Soll: " & DatensatzÜbersicht(a).Soll &
    5. " gezahlt: " & DatensatzÜbersicht(a).gezahlt &
    6. " Monate: " & DatensatzÜbersicht(a).Monate)
    7. Console.WriteLine()
    8. Next

    die Daten anzeigen will, sind zwar die Datensätze vorhanden aber ohne Inhalt. Die Integer/Double haben 0 der String ist leer.

    mit

    VB.NET-Quellcode

    1. DatensatzÜbersicht(0).KontoNr = CInt(reader("KONTO"))
    2. DatensatzÜbersicht(0).Name = CStr(reader("NAME"))


    kann ich Werte eingeben.

    Wie kann ich denn direkt bei add Werte mit eingeben?
    Gerade mal nachgebaut:

    Spoiler anzeigen

    C#-Quellcode

    1. ​using System;
    2. namespace Test {
    3. using System.Collections.Generic;
    4. public class Overview {
    5. public int AccountNum { get; set; }
    6. public string Name { get; set; }
    7. public decimal Debt { get; set; }
    8. public decimal Paid { get; set; }
    9. public int Months { get; set; }
    10. public Overview(): this(0, string.Empty, 0, 0, 0) {}
    11. public Overview(int accountNum, string name, decimal debt, decimal paid, int months) {
    12. AccountNum = accountNum;
    13. Name = name;
    14. Debt = debt;
    15. Paid = paid;
    16. Months = months;
    17. }
    18. public override string ToString() {
    19. return $"""
    20. Account number: { AccountNum }
    21. Account name: { Name }
    22. Total debt: { Debt }
    23. Total paid: { Paid }
    24. Total months: { Months }
    25. """;
    26. }
    27. }
    28. public static class Test {
    29. private static List<Overview> m_overviews = new();
    30. public static void Main(string[] args) {
    31. m_overviews.Add(new Overview(1, "Test", 1.33m, 0.2m, 20));
    32. m_overviews.Add(new Overview(1, "Test1", 1.33m, 3.556565m, 20));
    33. m_overviews.Add(new Overview(1, "Test2", 4.33m, 2.2m, 20));
    34. m_overviews.Add(new Overview(1, "Test3", 5.33m, 0.8m, 20));
    35. m_overviews.Add(new Overview(1, "Test4", 6.33m, 0.3m, 20));
    36. foreach (var item in m_overviews) {
    37. Console.WriteLine($"Found overview:\n{ item }\n");
    38. }
    39. }
    40. }
    41. }


    Bei mir kommt der erwartete Output:
    Spoiler anzeigen

    Quellcode

    1. Found overview:
    2. Account number: 1
    3. Account name: Test
    4. Total debt: 1.33
    5. Total paid: 0.2
    6. Total months: 20
    7. Found overview:
    8. Account number: 1
    9. Account name: Test1
    10. Total debt: 1.33
    11. Total paid: 3.556565
    12. Total months: 20
    13. Found overview:
    14. Account number: 1
    15. Account name: Test2
    16. Total debt: 4.33
    17. Total paid: 2.2
    18. Total months: 20
    19. Found overview:
    20. Account number: 1
    21. Account name: Test3
    22. Total debt: 5.33
    23. Total paid: 0.8
    24. Total months: 20
    25. Found overview:
    26. Account number: 1
    27. Account name: Test4
    28. Total debt: 6.33
    29. Total paid: 0.3
    30. Total months: 20​


    Kannst du mal mitteilen, was genau der Fehler ist?
    Quellcode lizensiert unter CC by SA 2.0 (Creative Commons Share-Alike)

    Meine Firma: Procyon Systems
    Meine Privatwebseite: SimonC.eu

    Bitte nicht wundern, wenn meine Aktivitäten im Forum etwas langsamer sind, ich baue gerade mein Nebengewerbe zum Vollgewerbe aus.
    Ich versuche auf euch zurückzukommen :)