有,比如分页的时候。- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication
- {
- class Program
- {
- static void Main(string[] args)
- {
- int i = 3;
- Console.WriteLine("i之前{0}", i);
- PrintOut(out i);
- Console.WriteLine("i之后{0}", i);
- int j = 4;
- Console.WriteLine("i之前{0}", j);
- PrintRef(ref j);
- Console.WriteLine("i之后{0}", j);
- int z;
- PrintOut(out z);
- Console.WriteLine("z之后{0}", z);
- }
- static void PrintOut(out int i)
- {
- i = 1;
- }
- static void PrintRef(ref int i)
- {
- i = 2;
- }
- }
-
- }
复制代码
从例子中看出:
out 可以给初始值可以不给,但ref一定要给初始值
还有就是重载方法中,ref和out只能出现一个,看下面的方法只能出现一个- static void PrintOut(out int i)
- {
- i = 1;
- }
- static void PrintOut(ref int i)
- {
- i = 1;
- }
复制代码 |