类似Vector3之类的参数使用默认值的方法参考

文章讨论了在C#中,使用Vector3.zero作为默认参数值导致的编译错误,指出应使用`default`关键字来设定默认值。另外,文章还提到了可空值类型(nullabletype)的概念,如`Vector3?`,允许值类型变量接受null值。

类似下面这种写法,编译器会报错:

public LoadInfo(string name, string url, string extension = "glb", Vector3 offset = Vector3.zero)
{
	this.name = name;
	this.url = url;
	this.extension = extension;
	this.offset = offset;
}

报错的原因是Vector3.zero不是编译时常量。

最后面的参数offset的默认值应该改成下面写法:

Vector3 offset = default

还有一个,就是发现C#里面有这样的写法,就是类型后面加?意思就是允许值类型有空值,类似这样:

Vector3? offset = null;

就是表示这个offset没有值,就是什么值都没有,连Vector3.zero也不是。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值