使用.Contains检查字符串是否包含字符时出错

Sam*_*tar 3 c# asp.net-mvc asp.net-mvc-3

我试图找出一个字符串是否包含一个字符.我尝试了以下ViewBag.Options是一个字符串:

@ViewBag.Options.Contains('q')
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误说:

'string.Contains(string)'的最佳重载方法匹配有一些无效的参数.

Jon*_*eet 11

它写道:string.Contains没有一个只占一个字符的重载.

选项:

  • 使用 @ViewBag.Options.Contains("q")
  • 使用 @ViewBag.Options.IndexOf('q') != -1
  • 使用一些更复杂的LINQy方法(例如Any) - 可行,但这里没有必要.(我在适当的时候是LINQ的粉丝,但我不认为这是正确的方法;我不会为了它而开始在我的代码中引入lambda表达式)
  • 使用一些更复杂的正则表达式方法 - 再次,没有意义.

  • @NikhilAgrawal:因为那比 `Contains("q")` 更复杂吗?我远非反对 LINQ,但是当一个非常简单的方法调用也能正常工作时,为什么要使用使用 lambda 表达式的方法呢? (2认同)