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