测试关联数组是否包含D中的键
这个问题不言自明;在实际插入关联数组之前,我希望能够检查关联数组是否包含要(可能)插入的值。有没有一种简单的方法可以在不搜索dict.keys的情况下执行此操作?可能类似于测试关联数组是否包含D中的键,d,associative-array,D,Associative Array,这个问题不言自明;在实际插入关联数组之前,我希望能够检查关联数组是否包含要(可能)插入的值。有没有一种简单的方法可以在不搜索dict.keys的情况下执行此操作?可能类似于if(dict.contains(val))…?要测试键是否在关联数组中,请使用in操作符: string[int] aa; string* ps = 100 in aa; if(ps) { // 100 is a key in aa, ps is a pointer to the corresponding va
if(dict.contains(val))…
?要测试键是否在关联数组中,请使用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
值得注意的是,当且仅当指针为null时,指针才会在条件中计算为false
我认为编写该代码的常用方法是如果(自动v=key in aa){fn(*v);}否则{…}
不起作用,因为null
可能是dict
中的有效值;您可以调用dict[key]=null
,然后输入dict
将返回true
@beeryboy它取决于您是否可以使用它
if (!dict.get(key, null))
dict[key] = val;