Laden...

nur bestimmte Arrayelemente übergeben

Erstellt von indeopax vor 10 Jahren Letzter Beitrag vor 10 Jahren 876 Views
I
indeopax Themenstarter:in
5 Beiträge seit 2013
vor 10 Jahren
nur bestimmte Arrayelemente übergeben

Hallo,

ich habe eine Funktion, die ein Array übergeben bekommt und mit den einzelnen Elementen weiterarbeiet.

Bei einem Aufruf benötige ich aber nur die ersten beiden Elemente des Arrays. Gibt es eine Möglichkeit es zu bewerkstelligen, dass ich nur diese Elemente übergebe ?

Funktion


private void drawBez(int n, float[] P1, float[] P2, float[] P3) {
        Graphics g = this.CreateGraphics();
        Pen p = new Pen((Color.Red),3);
        if (n==nMax) {
        g.DrawLine(p,P1[n-1],P1[n],P2[n-1],P2[n]);
        g.DrawLine(p,P2[n-1],P2[n],P3[n-1],P3[n]);
		}

Aufruf

drawBez(n,P1,P2,P3);

Nun würdde ich gern sowas tun


drawBez(1,P1[0,1],P2[0,1],P3[0,1]);

d.h. nur die ersten beiden Elemente übergeben. Funktioniert das irgendwie ?

Gruß

2.207 Beiträge seit 2011
vor 10 Jahren

Hallo indeopax,

zuerst einmal sieht dein Code grausig aus. Parameternamen schreibt man in C# eigentlich klein und gibt Ihnen aussagekräftige Namen. Aber das nur am Rande.

Zu deinem Problem: Mach dir doch einfach ein neues Array, in die du nur die ersten beiden Elemente hineinschreibst, und das gibst du dann in deine Funktion.

Das sind aber, wie so oft, Grundlagen.

Gruss

Coffeebean

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo indeopax,

warum willst du die Übergabe beschränken? Ein Array wird immer per Referenz übergeben und daher ist es für die Performance vollkommen egal, wieviele Elemente es enthält. Ein Umkopieren in eine kleineres Array ist also nicht nur nicht nötig, sondern wäre in dieser Hinsicht sogar kontraproduktiv.

Sollte das wirklich der Hintergrund deiner Frage gewesen sein, beachte bitte [Hinweis] Wie poste ich richtig? Punkt 1.1.1.

Wenn es einen anderen Grund gibt, nenne diesen bitte.

herbivore