out是C#中的关键字,用于将参数作为引用类型传递给方法。作为输出参数传递给方法的变量在传递给方法调用之前不需要声明或初始化。在控件离开被调用方法之前以及被调用方法向调用方法返回任何值之前,被调用方法需要为 out 参数的变量赋值。可以将多个输出参数传递给一个方法,并且该方法返回多个值。
语法及解释:
使用 out 参数调用该方法时,语法如下:
Method_name(out data_type variable_name);
这里,Method_name 是任何用户定义的方法名称,'out' 是关键字,用于表示传递给方法的变量是输出参数,data_type 可以是变量的任何数据类型,variable_name 是用户定义的变量名称。
调用方法的语法如下:
access_specifier return_type Method_name(out data_type variable_name);
这里,access_specifier 可以是 C# 支持的五个访问说明符中的任何访问说明符,例如 public 或 private。然后,return_type 是该方法返回的数据类型,后跟方法名称和“out”参数列表。
在 C# 中,“out”关键字的作用类似于“ref”和“in”关键字。 'out' 和 'ref' 参数之间的区别在于,'out' 参数变量在传递给方法之前不需要初始化,用户可以在方法的参数列表中声明 'out' 参数变量而不是单独声明它,这称为“out”参数的内联声明,而“ref”参数变量需要在传递给方法之前初始化。可以在同一代码块中访问内联声明的“out”参数。
代码:
using System; namespace ConsoleApp4 { public class Program { public static void Main(string[] args) { //inline declaration of 'out' parameter Display(out int num); Console.WriteLine("Value of variable 'num': {0}", num); Console.ReadLine(); } public static void Display(out int a) { //need to assign value a = 10; a += a; } } }
输出:
代码:
using System; namespace ConsoleApp4 { public class Program { public static void Main(string[] args) { string str = "123456"; int num; //if ‘canParse’ is true; the result of conversion will be stored in ‘num’ bool canParse = Int32.TryParse(str, out num); if (canParse) Console.WriteLine(num); else Console.WriteLine("Could not be parsed."); Console.ReadLine(); } } }
输出:
以下是 C# 输出参数的示例:
示例显示将多个“out”参数传递给方法,然后该方法返回多个值。
代码:
using System; namespace ConsoleApp4 { public class Program { public static void Main() { //declaring variables without assigning values float area, perimeter; //passing multiple variables to a method using 'out' keyword Calculate(5, 10, out area, out perimeter); //displaying the result Console.WriteLine("The area of rectangle is: {0}", area); Console.WriteLine("The perimeter of rectangle is: {0}", perimeter); Console.ReadLine(); } //method taking length & breadth & it will return area and perimeter of rectangle public static void Calculate(int length, int breadth, out float area, out float perimeter) { area = length * breadth; perimeter = 2 * (length + breadth); } } }
输出:
显示“out”参数内联声明的示例。
代码:
using System; namespace ConsoleApp4 { public class Program { public static void Main() { //in-line declaration of variables without assigning values Calculate(out int length, out int breadth, out float area); //displaying the values of length, breadth, and area Console.WriteLine("Length of rectangle: " + length); Console.WriteLine("Breadth of rectangle: " + breadth); Console.WriteLine("Area of rectangle: " + area); Console.ReadLine(); } //method taking 'out' parameters and it returns multiple values public static void Calculate(out int l, out int b, out float a) { l = 30; b = 40; a = l * b; } } }
输出:
C# 中的“out”参数允许用户通过引用方法来传递参数。用作“out”参数的变量在传递给方法之前不需要进行初始化。被调用的方法应该在返回值之前为 out 参数赋值。
以上是C# 输出参数的详细内容。更多信息请关注PHP中文网其他相关文章!