案例1:
static void Main() { int[] ary = { 12, 13, 103, 10003 }; int numLargerThan10,numLargerThan100,numLargerThan1000 ; Proc(ary, out numLargerThan10, out numLargerThan100, out numLargerThan1000); Console.WriteLine("有{0}個數大於10,有{1}個數大於100,有{2}個數大於1000",numLargerThan10,numLargerThan100,numLargerThan1000); Console.Read(); } static void Proc(int[] ary, out int numLargerThan10, out int numLargerThan100, out int numLargerThan1000) { numLargerThan10 = 0; numLargerThan100 = 0; numLargerThan1000 = 0; foreach (var a in ary) { if (a > 1000) numLargerThan1000++; else if (a > 100) numLargerThan100++; else if (a > 10) numLargerThan10++; } }
輸出結果:
有2個數大於10,有1個數大於100,有1個數大於1000
案例2:
class Program { //使用out后必須對變量賦值 public void TestOut(out int x, out int y) { x = 1; y = 2; } //此時傳進來的值分別為x1:10,y1:11,輸出之后的x1的值為2 public void TestRef(ref int x, ref int y) { //引用剪剪那句話傳進來的是豬,出來的可能是頭牛(很精辟!) x = 2; } static void Main(string[] args) { int x; int y; Program P1 = new Program(); P1.TestOut(out x,out y); Console.WriteLine("x={0},y={1}", x, y); //在使用之前ref必須對變量賦值 int x1 = 10; int Y1 = 11; P1.TestRef(ref x1,ref Y1); Console.WriteLine("x1={0},y1={1}", x1, Y1); } }
輸出結果:
x=1,y=2
x1=2,y1=11