Fortsättning på ref i void metoder

Tror det går bra det här!

Lektion 05
8) Skriv ett program som från konsolen möjliggör input av 2 numreriska värden. Skriv en metod för beräkning som tar dessa 2 värden in, men som även tar 4 stycken out-parametrar in.
Tilldela dessa parametrar summan, differensen, produkten och kvot. Skriv sedan ut resultatet åt användaren utifrån out-parametrarna.
Ex.
tal1 = 5
tal2 = 5

5+5=10
5-5=0
5*5=25
5/5=1

Nu har jag dock när jag verkligen läser detta inte alls använt mig av out-parameterar utan av åter igen ref.
Men det är enkelt fixat i vilket fall.
Dock så får ni se hur jag löste detta med då ref och inte out.

Program.cs
Console.Write("Enter value 1: ");
decimal value1 = Convert.ToDecimal(Console.ReadLine());

Console.Write("Enter value 2: ");
decimal value2 = Convert.ToDecimal(Console.ReadLine());

string x = "";
FredrikBLL.BLL.Functions functions = new FredrikBLL.BLL.Functions();
functions.myCalcOut(ref value1, ref value2, ref x);

Console.WriteLine("Svaret nedan: \n" + x);
Console.ReadLine();

Functions.cs
public void myCalcOut(ref decimal value1, ref decimal value2, ref string x)
{
decimal sumtemp, sumtemp2, sumtemp3, sumtemp4;
string sumout = "";

sumtemp = Convert.ToDecimal(value1 + value2);
sumout += Convert.ToString(value1 + "+" + value2 + "=" + sumtemp + "\n");
sumtemp2 = Convert.ToDecimal(value1 - value2);
sumout += Convert.ToString(value1 + "-" + value2 + "=" + sumtemp2 + "\n");
sumtemp3 = Convert.ToDecimal(value1 * value2);
sumout += Convert.ToString(value1 + "*" + value2 + "=" + sumtemp3 + "\n");
sumtemp4 = Convert.ToDecimal(value1 / value2);
sumout += Convert.ToString(value1 + "/" + value2 + "=" + sumtemp4 + "\n");
x = sumout;
}

Jag får återkomma med kåden för OUT!


Kommentarer

Kommentera inlägget här:

Namn:
Kom ihåg mig?

E-postadress: (publiceras ej)

URL/Bloggadress:

Kommentar:

Trackback
RSS 2.0