C# 类型的默认值

在项目中声明引用类型时,会习惯性的赋默认值null。

private ComponentA comA = null;
...

但是看其他人的写法习惯是没有赋默认值的

private ComponentA comA;

那么不主动赋默认值的引用类型变量是什么值呢?
答:还是null。
以下是官方文档列出的C#类型默认值:
https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/builtin-types/default-values
比较常用的内置整数类型和浮点数类型的默认值是0,bool类型的默认值是false。
实际项目中,这几种类型更多地会在声明时给出默认值,比如bool类型用于标志位等情况写出具体的默认值更易于理解。
而对于声明时默认值为null的引用类型呢,一般单独写Init函数进行初始化操作:

private void InitComponentA()
{
	if(ComA == null)
	{
		CompA = new ComponentA();
		// init property...
	}
}

在用到该引用类型的地方,加一步判空或者 try/catch操作

private void FunctionA()
{
	if(ComA == null)
	{
		//print error
		return;
	}

	// operation about ComA
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值