Restituirà lo default(T)
che sarà lo stesso di new KeyValuePair<string, othertype>>()
, ovvero una struttura inizializzata predefinita.
Fondamentalmente, il default per i tipi di riferimento è sempre null
, e per tipi di valori (compresi struct
) è il default (0
per numerici, false
per bool
, un struct
con ogni campo insolvente per structures, etc.)
Così, per un default(KeyValuePair<string, othertype>>)
si otterrebbe indietro un KVP dove il Key
era null
(predefinito per string
) e qualunque sia la default(othertype)
sarebbe (come negli esempi precedenti) ...
Dalla MSDN:
Il primo elemento che soddisfa le condizioni definite dal predicato specificato , se trovato; in caso contrario, il valore di default per il tipo T.
Usando questo, se si voleva controllare e vedere se è tornato il default
, mi consiglia di controllare per yourResult.Key != null
per vedere se hai un risultato, o si può utilizzare un diverso metodocome FindIndex
come suggerisce Olivier.
fonte
2012-10-01 15:26:04
provare con 'int' e vediamo cosa succede. – Oded
Il valore predefinito per tipo T, in particolare 'default (T)'. –
Se si desidera che Trova restituisca null quando non viene trovata alcuna corrispondenza, considerare l'utilizzo di Tuple anziché KeyValuePair. – JamieSee