【发布时间】:2016-03-25 12:16:36
【问题描述】:
使用此代码:
bool dataToAdd;
if (null == _priceComplianceDetailList) return dataToAdd;
我收到一个编译器错误,“使用未分配的局部变量 'dataToAdd'”
所以我必须明确地将“false”分配给 bool:
bool dataToAdd = false;
if (null == _priceComplianceDetailList) return dataToAdd;
在上下文中:
private bool PopulateSheetWithDetailData()
{
bool dataToAdd = false;
if (null == _priceComplianceDetailList) return dataToAdd;
List<PriceComplianceDetail> _sortedDetailList =
. . .
return _sortedDetailList.Count > 0;
}
为什么有必要? bool 的默认值不是 false 吗?
【问题讨论】:
-
默认只适用于类成员,方法中的局部变量必须显式赋值。
-
您也可以完全删除变量,因为您是根据列表的计数返回的,并且在第一个 if 块中您可以直接返回 false。
标签: c# .net boolean default default-value