65 lines
1.4 KiB
C#
65 lines
1.4 KiB
C#
internal class Program
|
|
{
|
|
private void Calculate(int a)
|
|
{
|
|
a *= 2;
|
|
}
|
|
static double GetData(ref int a, ref double b)
|
|
{ return ++a * ++b; }
|
|
|
|
// out 정의
|
|
static bool GetData(int a, int b, out int c, out int d)
|
|
{
|
|
c = a + b;
|
|
d = a - b;
|
|
return true;
|
|
}
|
|
|
|
int Calc(int a, int b, string calcType = "+")
|
|
{
|
|
switch (calcType)
|
|
{
|
|
case "+":
|
|
return a + b;
|
|
case "-":
|
|
return a - b;
|
|
case "*":
|
|
return a * b;
|
|
case "/":
|
|
return a / b;
|
|
default:
|
|
throw new ArithmeticException();
|
|
}
|
|
}
|
|
|
|
double Calc(params double[] doubles)
|
|
{
|
|
return doubles.Sum();
|
|
}
|
|
|
|
private static void Main(string[] args)
|
|
{
|
|
Program p = new Program();
|
|
|
|
int val = 100;
|
|
p.Calculate(val);
|
|
// val는 그대로 100
|
|
Console.WriteLine($"val = {val} ");
|
|
|
|
// ref 사용. 초기화 필요.
|
|
int x = 1;
|
|
double y = 1.0;
|
|
double ret = GetData(ref x, ref y);
|
|
Console.WriteLine($"x = {x}, y = {y} ");
|
|
|
|
// out 사용. 초기화 불필요.
|
|
int c, d;
|
|
bool bret = GetData(10, 20, out c, out d);
|
|
Console.WriteLine($"c = {c}, d = {d} ");
|
|
|
|
p.Calc(1, 2);
|
|
p.Calc(4, 3, "-");
|
|
p.Calc(1.1, 2.2, 3.3, 4.4);
|
|
|
|
}
|
|
} |