我试图找出一个字符串是否包含一个字符。我尝试了以下内容 其中ViewBag.Options是一个字符串:
@ViewBag.Options.Contains('q')
但它给我一个错误说:
最好的重载方法匹配' string.Contains(string)'有一些无效的论点。
答案 0 :(得分:11)
并写道:string.Contains
只有一个字符没有重载。
选项:
@ViewBag.Options.Contains("q")
@ViewBag.Options.IndexOf('q') != -1
Any
) - 可行,但这里没有必要。 (我是LINQ 的粉丝,但我不认为这是正确的方法;我不会为了它而开始在我的代码中引入lambda表达式)答案 1 :(得分:1)
使用其中任何一个
@ViewBag.Options.Contains("q");
@ViewBag.Options.Any(x => x == 'q');
如果你坚持
@ViewBag.Options.Contains('q'.ToString());
错误是不言自明的。 .Contains
的参数符号接受一个字符串,此方法的重载不会占用一个字符。
答案 2 :(得分:1)
在c#中使用单引号表示一个字符。
尝试使用双引号:
@ViewBag.Options.Contains("q");
答案 3 :(得分:1)
使用此:
@ViewBag.Options.Contains("q")