Con questo codice:Qual è il motivo dell'errore "Uso della variabile locale non assegnata"?
bool dataToAdd;
if (null == _priceComplianceDetailList) return dataToAdd;
mi è stato sempre un errore di compilazione, "L'uso della variabile locale non assegnata 'dataToAdd'"
così ho dovuto assegnare esplicitamente "false" al bool:
bool dataToAdd = false;
if (null == _priceComplianceDetailList) return dataToAdd;
Nel contesto:
private bool PopulateSheetWithDetailData()
{
bool dataToAdd = false;
if (null == _priceComplianceDetailList) return dataToAdd;
List<PriceComplianceDetail> _sortedDetailList =
. . .
return _sortedDetailList.Count > 0;
}
Perché è necessario? I bool non hanno un valore predefinito di false?
Il valore predefinito si applica solo ai membri della classe, le variabili locali nei metodi devono essere assegnate in modo esplicito. – Lee
Inoltre è possibile rimuovere completamente la variabile poiché si sta ritornando in base al conteggio dell'elenco e nel primo blocco se è possibile restituire direttamente false. –