Hallo Leute,
wie kann man es machen?
hab verschiedenes probiert:
public bool WritePZD(UInt16[2] val)
{
...
}
nur so scheint es zu gehen:
public bool WritePZD(UInt16[] val)
{
...
}
kann man die Anzahl der Werte im Array nicht festlegen?
Vielen Dank im Voraus
Steffen
Brauchst doch keine Länge mitgeben, das Array an sich hat doch schon die Length Eigenschaft.
Baka wa shinanakya naoranai.
Mein XING Profil.
Hallo steffen_dec,
zur Compilezeit erzwingen wie groß das Array ist, kannst du nicht. Du kannst aber zur Laufzeit die Array-Größe abfragen und wenn sie nicht stimmt eine ArgumentException werfen.
herbivore
Original von steffen_dec
kann man die Anzahl der Werte im Array nicht festlegen?
So ist es, Arrays sind grundsätzlich dynamisch und damit von variabler, aber nicht änderbarer Länge. Das ist anders als z.B. in C/C++ oder Pascal.
Ich glaube er will erreichen, das man z.b. nur Arrays welche 2 Elemente lang sind übergeben kann.
Das geht so weit ich weis nicht. In so einem Fall könnte man die Länge in der Methode prüfen und dann ggf. eine Exception oder eine Warnung erzeugen.
Noch sauberer währe es eine Struktur zu definieren welche das Wertepaar repräsentiert, und diese dann an die Methode zu übergeben.
Gruss
tscherno
Wie gesagt, zur Compiletime geht das nicht. Man kann das natürlich zur Laufzeit prüfen und dann eine InvalidArgumentException werfen.
Man kann natürlich den Weg über einen benutzerdefinierten Typen gehen (Idee mit dem Struct), oder sich eine 2-Elemente-Collection ableiten. Aber vermutlich geht es hier nur darum, sich von einem gewohnten Feature zu trennen.
Hallo,
vielen Dank für eure Antworten, dass habe ich mir schon fast gedacht...
werde es dann einfach zur laufzeit überprüfen
Gruß
Steffen