我正在嘗試解決null以下功能的安全問題。嵌套if陳述句似乎不起作用。
bool doesTourExceedsVenueCapacity(
ToursRecord? tourRecord,
int? venueCapacity,
) {
return tourRecord.passengers > venueCapacity ? true : false;
}
uj5u.com熱心網友回復:
由于您的兩個值都可以為空,因此您必須調整代碼以進行條件檢查。在之前添加一些類似警衛的檢查:
bool doesTourExceedsVenueCapacity(
ToursRecord? tourRecord,
int? venueCapacity,
) {
final passengers = tourRecord?.passengers;
if (venueCapacity == null) return false //adjust return value
if (passengers == null) return false // adjust return value
return passengers > venueCapacity; // ? true : false unnecessary here
}
uj5u.com熱心網友回復:
它不起作用,因為您檢查的陳述句tourRecord.passengers > venueCapacity包含兩個可以為空的值。ToursRecord? tourRecord.passengers和int? venueCapacity。問號很重要。
uj5u.com熱心網友回復:
洗掉 null 或添加條件以處理條件中的可為空型別。
示例(通過洗掉可空型別)
bool doesTourExceedsVenueCapacity(
ToursRecord tourRecord,
int venueCapacity,
) {
return tourRecord.passengers > venueCapacity ? true : false;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/491020.html
上一篇:錯誤:[cloud_firestore/unknown]將FieldPath.of()用于包含“~*/[]”的欄位名稱
下一篇:滑塊不移動但值發生變化
