Suche mit indexof
-
Hallo,
ich lese eine Datenbank aus und speichere mir bestimmte Werte in einer "List" um im Programm schneller darauf zugreifen zu können und nicht ständig die Datenbank zu bemühen.
Wie kann ich in der komplexen List "writedatapoints" nach z.B. mpi == 24 suchen, damit der Index zurückgegeben wird um danach mit dem Index auf andere Werte z.B. writedatapoints[index].setpoint zuzugreifen.
Eventuell gibt es etwas besseres als "indexof" .... ??public class WRITEdatapoint { public string karname { get; set; } public int usbnr { get; set; } public string setpoint { get; set; } } public static List<WRITEdatapoint> writedatapoints = new List<WRITEdatapoint>();Danke !!
-
In einer List hast du nicht wirklich eine andere Möglichkeit. Aber wenn du mit einer List vor hast, diese so anzusprechen, dann deutet das darauf hin, dass du keine List möchtest. Listen sind gut, um ein Element nach dem anderen durchzugehen, nicht um gezielt zwischen verschiedenen Elementen hin- und her zu springen (Zumindest nicht, wenn du sie erst suchen musste. Wenn du den Index schon kennst, ist eine List toll zum Anspringen). Vielleicht willst du eine sortierte List? Damit kann man ein gesuchtes Element einfacher finden. Oder, ganz anders gedacht, suchst du ein Dictionary? Eventuell auch ein HashSet, je nachdem, was du genau vor hast. Jedenfalls solltest du nochmal nachdenken, wie du deine Daten für deinen Anwendungszweck am besten organisierst.
-
@SeppJ sagte in Suche mit indexof:
HashSet
Guten Morgen,
hier bin ich noch zu neu in C# um das beurteilen zu können, was besser ist/wäre.
Hier die Problemstellung:
In der Datenbank gibt es records mit jeweils einem eindeutigen primarykey "karname"
Die Datenbank wird in meinem Programm ausgelesen und die "records" sollen im Programm so abgespeichert werden, das ich diese leicht durchsuchen und auslesen kann.
Somit geht der Zugriff schneller als immer über die Datenbank.
Je nach Anforderung werden die Daten manipuliert und sporadisch in die Datenbank zurück geschrieben.Um einen record zu finden wird immer nach dem eindeutigen "karname" gesucht.
Was wäre für diesen Anwendungsfall die beste, schnellste (Zugriff) aber auch "einfach" zu programmierende Lösung ?
PS: Die Datenbank/Record wird im Laufe der Zeit noch erweitert, aktuell 3 Felder, später sicher 20 Felder pro record.
Vielen Dank !!