C#Array.Contains()编译错误

Ash*_*n K 41 .net c# linq

我正在尝试在C#中使用Array.Contains()方法,并且由于某种原因它无法编译,尽管我相信我正在使用C#4.0,而C#应该在3.0及更高版本中支持它.

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

我收到这个错误:

Main.cs(42,15):错误CS1061:'System.Array'不包含'Contains'的定义,并且没有扩展方法'Contains'接受类型'System.Array'的第一个参数可以找到(你是吗?)缺少using指令或程序集引用?)

我正在从命令行编译,没有选项:"csc Main.exe".

Bli*_*ndy 77

您需要using System.Linq;在程序开头添加.


Jon*_*Jon 13

你忘记了using System.Linq吗?

顺便说一句,如果你不能使用LINQ,还有很多其他的选择,比如Array.Exists.

  • 或者`Array.Contains`,它可以做他想做的事情.但他显然使用的是C#3.5,所以没有理由不能使用Linq. (2认同)

Cha*_*thJ 9

如果你不想使用linq试试

((IList<string>)args).Contains("-m")
Run Code Online (Sandbox Code Playgroud)