Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

628
Vistas
Falta la definición de TryAdd() en el diccionario

Estoy usando el ejemplo del tutorial https://www.dotnetperls.com/dictionary Pero tengo problemas con la falta de referencia a TryAdd . ¿Debo agregar algunas referencias adicionales para usar este método? No encontré nada en la documentación https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2.tryadd?view=net-5.0

 var items = new Dictionary<string, int>(); // Part 1: add the string with value 1. bool result = items.TryAdd("test", 1);

Código de gravedad Descripción Error de estado de supresión de línea de archivo de proyecto CS1061 'Dictionary<string, int>' no contiene una definición para 'TryAdd' y ningún método de extensión accesible 'TryAdd' aceptando un primer argumento de tipo 'Dictionary<string, int>' podría ser encontrado (¿falta una directiva de uso o una referencia de ensamblado?) CsharpTest C:\ruta\a\archivo\Program.cs 672 Activo

ACTUALIZACIÓN: este método es para .NET 5 ang mayor (estoy usando un marco anterior)

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Los comentarios son de semi-derecha. Este método se introdujo en .NET Core 2.0 y .NET Standard 2.1, por lo que necesita que su marco de trabajo de destino sea al menos eso. En particular, no existe en .NET Framework (cualquier versión) y sí existe en la última versión de .NET 5.

Si lo necesita en un tiempo de ejecución anterior, puede escribir un método de extensión (tomado de dotnet/runtime, System.Collections.Generic.CollectionExtensions ).

 public static bool TryAdd<TKey, TValue>(this IDictionary<TKey, TValue> dictionary, TKey key, TValue value) { if (dictionary == null) { throw new ArgumentNullException(nameof(dictionary)); } if (!dictionary.ContainsKey(key)) { dictionary.Add(key, value); return true; } return false; }

Tiene peores características de rendimiento que el método de instancia de Dictionary<,> , ya que primero realiza una búsqueda por separado, pero es poco probable que sea relevante.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda