baer schrieb:
> ich habe mir ein Array erstellt, in welchen Informationen stehen über
> die Konsole kann ich mit einer ID einfach eine Position raussuchen
> anschließend werden mir dann die Informationen angezeigt.
Nein. Was du meinst, ist keine "ID", sondern schlicht und einfach ein
Array-Offset.
> jetzt habe ich ein Array mit 50 Feldern...
>
> wenn ich jetzt -1 oder 50 eingebe kommt natürlich eine Exception...
Weil halt der Offset ausserhalb des gültigen Bereichs ist. Das sollte
nie passieren, wenn man korrekten Code programmiert hat. Du hast Glück,
dass "managed code" wie der von C# produzierte Arrayzugriffe
diesbezüglich überwacht und die Exception wirft, anstatt wild in
irgendwelchem Speicher rumzuschreiben, der überhaupt nicht zum Array
gehört.
> ich habe es mit try & catch versucht, allerdings fehlt mir da der
> richtige Ansatz...
Mit try & catch kann man das zwar durchaus lösen, ist aber nicht gerade
optimal. Sowas macht man sinnvollerweise nur, wenn es wirklich keine
andere Möglichkeit gibt, einen potentiellen Fehler vorbeugend zu
erkennen. Die gibt es aber hier:
Der Bereich der zulässigen Offsets für ein Array fängt in C# immer beim
Offset 0 an und hört bei der Länge des Arrays - 1 auf.
Auf die Länge des Arrays kann man über die Eigenschaft "Length"
zugreifen. Wirklich wenig überraschend...