La domanda è piuttosto auto-esplicativa; Voglio essere in grado di verificare se un array associativo contiene un valore che sto per inserire (potenzialmente), prima di inserirlo effettivamente. C'è un modo semplice per farlo senza cercare attraverso dict.keys
? Forse qualcosa come if (dict.contains(val)) ...
?test se un array associativo contiene una chiave in D
6
A
risposta
7
per verificare se una chiave è in un array associativo, usare il in
dell'operatore:
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
}
Per verificare se un valoreesiste, dovrete per la ricerca in aa.values
.
1
è degno di nota che un puntatore valuterà false in un condizionale se e solo se il puntatore 'è null' –
penso che il modo usuale di scrivere che il codice è' se (auto v = chiave aa) {fn (* v); } else {...} ' – BCS
grazie yoooou! c: –