在C风格的语言中,函数常常能从一个例程中输出多个值,这是用输出参数实现,只要把输出的值赋予通过引用传递给方法的变量即可。通常,变量通过应用传递的初值并不重要,这些值会被函数重写,函数甚至从来没有使用过它们。
如果可以在C#中使用这种约定,就会非常方便。但C#要求变量在被引用前必须用一个初值进行初始化。尽管在把输入变量传递给函数前,可以用没有意义的值初始化它们,因为函数将使用真实、有意义的值初始化它们,但是这样做是没有必要的,有时甚至会引起混乱。但有一种方法能够简化C#编译器所坚持的输入参数的初始化。
编译器使用out关键字来初始化。在方法的输入参数前面加上out前缀时,传递给该方法的变量可以不初始化。该变量通过引用传递,所以在从被调用的方法中返回时,对应方法对该变量进行的任何改变都会保留下来。在调用该方法是,还需要使用out关键字,与在定义该方法时一样
橘子Jane