C# 方法的传参

引用传参

csharp 复制代码
using System;


public class Program
{
	public static void Main()
	{
		Tools t = new Tools();
		t.bf();
		double a = 10;
		double b = 20;
		t.change(ref a, ref b);
		Console.WriteLine(b);
	}
}

class Tools {
	public void af() {Console.Write("a\n");}
	internal void bf() {Console.Write("b\n");}
	public void change(ref double a, ref double b) {
		dynamic t;
		t = a;
		a = b;
		b = t;
	}
	
}

调用方法时,你必须使用 ref 关键字:

csharp 复制代码
t.change(ref a, ref b);

输出传参

csharp 复制代码
using System;

namespace LHJ {

    class TODO {
        static void Main() {
            Tools t = new Tools();

            int a, b;
            Console.WriteLine("add = {0}, doublea = {1}, double b = {2}",
                t.foo(2, 3, out a, out b), a, b);

        }
    }

    class Tools {
        public int foo(int x, int y, out int a, out int b) {
            a = x * 2;
            b = y * 2;
            return x + y;
        }
    }

}
csharp 复制代码
public int foo(int x, int y, out int a, out int b)

此方法返回一个intfoo,和两个out int

注意调用时要带out

csharp 复制代码
t.foo(2, 3, out a, out b)
相关推荐
morris131几秒前
【SpringBoot】Xss的常见攻击方式与防御手段
java·spring boot·xss·csp
Source.Liu17 分钟前
【用Rust写CAD】第二章 第四节 函数
开发语言·rust
monkey_meng17 分钟前
【Rust中的迭代器】
开发语言·后端·rust
余衫马20 分钟前
Rust-Trait 特征编程
开发语言·后端·rust
monkey_meng24 分钟前
【Rust中多线程同步机制】
开发语言·redis·后端·rust
七星静香25 分钟前
laravel chunkById 分块查询 使用时的问题
java·前端·laravel
Jacob程序员26 分钟前
java导出word文件(手绘)
java·开发语言·word
ZHOUPUYU26 分钟前
IntelliJ IDEA超详细下载安装教程(附安装包)
java·ide·intellij-idea
stewie630 分钟前
在IDEA中使用Git
java·git
小白学大数据33 分钟前
正则表达式在Kotlin中的应用:提取图片链接
开发语言·python·selenium·正则表达式·kotlin