valores - nullable c#
Devolviendo un valor predeterminado.(DO#) (4)
default(T)
Estoy creando mi propio diccionario y tengo problemas para implementar la función TryGetValue . Cuando no se encuentra la clave, no tengo nada que asignar al parámetro out, así que lo dejo tal como está. Esto da como resultado el siguiente error: "El parámetro ''valor'' out debe asignarse antes de que el control abandone el método actual"
Entonces, básicamente, necesito una forma de obtener el valor predeterminado (0, falso o nullptr dependiendo del tipo). Mi código es similar al siguiente:
class MyEmptyDictionary<K, V> : IDictionary<K, V>
{
bool IDictionary<K, V>.TryGetValue (K key, out V value)
{
return false;
}
....
}
return default(int);
return default(bool);
return default(MyObject);
entonces en tu caso escribirías:
class MyEmptyDictionary<K, V> : IDictionary<K, V>
{
bool IDictionary<K, V>.TryGetValue (K key, out V value)
{
... get your value ...
if (notFound) {
value = default(V);
return false;
}
}
....
}
Consulte mi solución detallada en Determinación del valor predeterminado de un Tipo arbitrario en ejecución tme
Espero que esto ayude ...
marca
Está buscando la palabra clave default
.
Por ejemplo, en el ejemplo que dio, quiere algo como:
class MyEmptyDictionary<K, V> : IDictionary<K, V>
{
bool IDictionary<K, V>.TryGetValue (K key, out V value)
{
value = default(V);
return false;
}
....
}