【发布时间】:2013-01-30 22:11:20
【问题描述】:
这个问题不言自明;我希望能够在实际插入之前检查关联数组是否包含我即将(可能)插入的值。有没有一种简单的方法可以在不搜索dict.keys 的情况下做到这一点?也许像if (dict.contains(val)) ... 这样的东西?
【问题讨论】:
标签: d associative-array
这个问题不言自明;我希望能够在实际插入之前检查关联数组是否包含我即将(可能)插入的值。有没有一种简单的方法可以在不搜索dict.keys 的情况下做到这一点?也许像if (dict.contains(val)) ... 这样的东西?
【问题讨论】:
标签: d associative-array
要测试 key 是否在关联数组中,请使用 in 运算符:
string[int] aa;
string* ps = 100 in aa;
if(ps)
{
// 100 is a key in aa, ps is a pointer to the corresponding value
}
else
{
// 100 is not a key in aa
}
要测试值是否存在,您必须搜索aa.values。
【讨论】:
is null
if(auto v = key in aa) { fn(*v); } else { ... }
if (!dict.get(key, null))
dict[key] = val;
【讨论】:
null 可能是dict 中的有效值;你可以调用dict[key] = null;,然后key in dict 将返回true。