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)
相关推荐
醇氧8 分钟前
【Windows】优雅启动:解析一个 Java 服务的后台启动脚本
java·开发语言·windows
sunxunyong27 分钟前
doris运维命令
java·运维·数据库
菜鸟起航ing29 分钟前
Spring AI 全方位指南:从基础入门到高级实战
java·人工智能·spring
古城小栈1 小时前
Docker 多阶段构建:Go_Java 镜像瘦身运动
java·docker·golang
MapGIS技术支持1 小时前
MapGIS Objects Java计算一个三维点到平面的距离
java·开发语言·平面·制图·mapgis
Coder_Boy_1 小时前
业务导向型技术日志首日记录(业务中使用的技术栈)
java·驱动开发·微服务
程序员zgh1 小时前
C++ 互斥锁、读写锁、原子操作、条件变量
c语言·开发语言·jvm·c++
小灰灰搞电子2 小时前
Qt 重写QRadioButton实现动态radioButton源码分享
开发语言·qt·命令模式
by__csdn2 小时前
Vue3 setup()函数终极攻略:从入门到精通
开发语言·前端·javascript·vue.js·性能优化·typescript·ecmascript
喵了meme2 小时前
C语言实战5
c语言·开发语言