C#方法中参数有三种传递方式:值参数、引用参数、输出参数。
1.值参数:复制实参的值,重新创建新的存储位置,形参变化不会造成实参变化。
2.引用参数:复制实参的引用给形参,形参和实参指向同一个内存位置,形参变化会造成实参变化。在C#中,使用ref关键字声明引用参数。
3.输出参数:和引用参数相似,实参和形参指向同一个内存位置,形参变化会造成实参变化。输出参数的作用主要是为函数中返回多个返回值,输出参数会把方法输出的数据赋予自身。在C#中,使用out关键字声明输出参数。
引用参数和输出参数的不同:
引用参数在调用方法前必须初始化,否则编译器会报错,即传递前变量(实参)必须初始化。而输出参数则不同,在调用方法前参数不用初始化,但是在方法内部参数(形参)必须初始化,否则编译器会报错。
三种方式源代码展示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestArgsTransform
{
class Program
{
static void Main(string[] args)
{
int x1 = 10;
int y1 = 20;
int x, y;
Console.WriteLine("原先x:{0},y:{1}", x1, y1);