ref out
ref out . . ref out , . , . , ref , .
// .
Using System;
class RefSwap { int a, b;
public RefSwap(int i, int j) { a = i; b = j;
public void Show() {
Console.WriteLine("a: {0}, b: {1}", a, b);
}
// .
public void Swap(ref RefSwap obi, ref RefSwap ob2) {
RefSwap t;
t = obi; obi = ob2; ob2 = t;
}
}
class RefSwapDemo { static void Main() {
RefSwap x = new RefSwap(1, 2);
RefSwap = new RefSwap(3, 4);
Console.Write("x : "); x.Show ();
Console.Write(" : "); .Show();
Console.WriteLine();
// , . .Swap (ref , ref );
Console.Write(" : "); .Show();
Console.Write(" : "); .Show ();
}
}
.
: : 1, : 2 : : 3, : 4
: : 3, : 4 : : 1, : 2
Swap () , . Swap () , 1 2, , 3 4. Swap () , 3 4, , 1 2. ref, Swap () . , ref Swap ().
, , . , . , , . , , . . , . , . params.
, , params. , . .
|
|
, params MinVal (), .
// params.*
Using System;
class Min {
public int MinVal(params int[] nums) { int m;
if(nums.Length ==0) {
Console.WriteLine(": ."); return 0;
}
m = nums[0];
for(int i=l; i < nums.Length; i++) if(nums[i] < m) m = nums[i];
Return m;
}
}
class ParamsDemo { static void Main() {
Min ob = new Min(); int min;
int a = 10, b = 20;
// , min = ob.MinVal(a, b);
Console.WriteLine(" " + min);
// , min = ob.MinVal(a, b, -1);
Console.WriteLine(" " + min);
// , min = ob.MinVal(18, 23, 3, 14, 25);
Console.WriteLine(" " + min);
// , int[] args = { 45, 67, 34, 9, 112, 8 }; min = ob.MinVal(args);
Console.WriteLine(" " + min);
}
}