Entwickler-Ecke

C# - Die Sprache - Methode soll zwei Werte ausgeben


Stephan202 - Do 17.02.11 01:02
Titel: Methode soll zwei Werte ausgeben
Hallo,

ich habe eine Methode, die zwei Ausgabewerte berechnet und die verschiedenen Datentyps sind.
Wie ich inzwischen weiß, kann man nur einen Wert ausgeben, dieser kann aber, als Objekt definiert, zwei Werte beinhalten.
Wie macht man so was und wo muss man dazu was deklarieren/kontruieren?

Das Ganze soll ungefähr so aussehen:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
class xyz
{
  double a = 3;
  double b = 4;
  
  Ergebnis = Rechteck(a, b)

  public datentyp? Rechteck(double a, double b)
  {
    double flaeche = a*b;
    double umf = 2*(a+b);
    string umfang = umf.ToString;
  }
  
}


Wie kann ich jetzt die Variablen umfang und flaeche an die Funktion Rechteck zurückgeben?

Steh da grad voll auf dem Schlauch...

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt


Christian S. - Do 17.02.11 01:12

Hallo!

Ich würde da keinen neuen Datentyp für definieren, sondern mit out-Parametern arbeiten:


C#-Quelltext
1:
2:
3:
4:
5:
6:
  public void Rechteck(double a, double b, out double umf, out double flaeche)
  {
    flaeche = a*b;
    umf = 2*(a+b);
    string umfang = umf.ToString;
  }

Wenn Du die Methode aufrufst, übergibst Du als dritten und vierten Parameter zwei double-Variablen und nach dem Aufruf der Methode stehen die Ergebnisse in den beiden Variablen.

Der Name "Rechteck" für eine Methode ist übrigens schlecht, weil überhaupt nicht drin steckt, was die Methode macht :-)

Grüße
Christian