Estoy tratando de utilizar la Matriz.Método Contains () en C#, y por alguna razón que no compile, eva, aunque creo que estoy usando C# 4.0, C# y debe apoyar esta en 3.0 y posterior.

if (! args.Contains ("-m"))
    Console.WriteLine ("You must provide a message for this commit.");

Y me sale este error:

Principal.cs(42,15): error CS1061: «del Sistema.Matriz’ no contiene una definición para ‘Contiene’, y ningún método de extensión «Contiene» la aceptación de un primer argumento de tipo ‘System.Matriz’ podría ser encontrado (¿falta una directiva using o una referencia de ensamblado?)

Soy compilar desde la línea de comandos, con las opciones: «csc Main.exe».

  • Lea el mensaje de error. Te está diciendo lo que está mal. Le falta una referencia de ensamblado o mediante el uso de directiva.
InformationsquelleAutor Ashton K | 2011-04-29

6 Comentarios

  1. 13

    Hizo olvidar using System.Linq?

    Por cierto, si usted no puede usar LINQ hay muchas otras opciones como Array.Existe.

    • O Array.Contains, que hace lo mismo que él quiere. Pero, obviamente, el uso de C# 3.5 así que no hay razón por la que él no podía usar Linq.
  2. 3

    Tuve el mismo problema y tuve

    using System.Linq

    Fue porque yo estaba tratando de comparar string a int, pero de alguna manera estaba diciendo

    ‘Del sistema.Matriz’ no contiene una definición para ‘Contiene’

  3. 0

    Asegúrese de que está utilizando la versión correcta de la CSC (csc /?) – usted necesidad de 2010 versión para compilar para 4.0.
    Usted también puede necesitar agregar bibliotecas adicionales (opción/r) para compilar para tener éxito.

  4. 0

    Las respuestas diciendo a incluir el Sistema.Linq están en el lugar, sin embargo hay otra causa de este problema. Si el tipo del argumento .Contiene() no coincide con el tipo de la matriz, se obtendrá este error.

    public class Product
    {
        public long ProductID {get;set;}
    }
    
    public IEnumerable<Product> GetProductsByID(int[] prodIDs)
    {
        using (var context = new MyDatabaseContext())
        {
            return context.Products.Where(product => prodIDs.Contains(product.ProductID)); //['System.Array' does not contain a definition for 'Contains'] error because product.ProductID is long and prodIDs is an array of ints.
        }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here