首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#传递值/参考?

在C#中,参数传递有两种方式:值传递和引用传递。

  1. 值传递:当参数传递给方法时,会创建一个新的变量来存储参数的值。这意味着在方法内部对参数的任何更改都不会影响到原始变量。值传递是C#中的默认参数传递方式。
  2. 引用传递:当参数传递给方法时,会创建一个新的变量来存储参数的引用。这意味着在方法内部对参数的任何更改都会影响到原始变量。为了使用引用传递,需要在参数类型前面加上refout关键字。

以下是一个简单的示例,演示了值传递和引用传递的区别:

代码语言:csharp
复制
using System;

class Program
{
    static void Main()
    {
        int x = 10;
        int y = 20;

        Console.WriteLine("Before: x = {0}, y = {1}", x, y);

        // 值传递
        Add(x, y);
        Console.WriteLine("After Add(x, y): x = {0}, y = {1}", x, y);

        // 引用传递
        AddRef(ref x, ref y);
        Console.WriteLine("After AddRef(ref x, ref y): x = {0}, y = {1}", x, y);
    }

    static void Add(int a, int b)
    {
        a = a + b;
        b = a - b;
    }

    static void AddRef(ref int a, ref int b)
    {
        a = a + b;
        b = a - b;
    }
}

输出结果:

代码语言:txt
复制
Before: x = 10, y = 20
After Add(x, y): x = 10, y = 20
After AddRef(ref x, ref y): x = 30, y = 10

从输出结果可以看出,Add方法中的参数传递是值传递,对参数的更改不会影响原始变量。而AddRef方法中的参数传递是引用传递,对参数的更改会影响原始变量。

总之,C#中的值传递和引用传递是两种不同的参数传递方式,它们在不同的场景下有不同的应用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券