gpt4 book ai didi

dart - 如何处理无效值:有效值范围为?算子

转载 作者:行者123 更新时间:2023-12-03 04:23:23 28 4
gpt4 key购买 nike

var items = [];
var index = 0;
var value = items[index]; // returns invalid value error, understood!

我宁愿使用以下来防止错误
if (index < items.length) {
value = items[index];
}

由于Dart中有 ?运算符,因此我想知道有什么方法可以执行以下操作:
var value = items?.[0] ?? -1; 
var value = items?[0] ?? -1;

最佳答案

否。?用于表示空值的运算符(或三元运算符)。访问List的无效元素会引发异常,而不是返回null,因此,了解null的运算符将无济于事。

如果愿意,可以添加一个辅助函数并使它作为扩展更为方便:

extension ListGet<E> on List<E> {
E get(int index, [E defaultValue]) =>
(0 <= index && index < this.length) ? this[index] : defaultValue;
}

现在您应该能够

var value = items.get(0, -1);

关于dart - 如何处理无效值:有效值范围为?算子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61284067/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com