我想知道字符串是否包含字符。我嘗試以下 其中ViewBag.Options是一個字符串:使用.Contains檢查字符串是否包含字符時出錯
@ViewBag.Options.Contains('q')
,但它給了我一個錯誤說:
爲「string.Contains(串)」的最佳重載的方法匹配具有一些無效參數。
我想知道字符串是否包含字符。我嘗試以下 其中ViewBag.Options是一個字符串:使用.Contains檢查字符串是否包含字符時出錯
@ViewBag.Options.Contains('q')
,但它給了我一個錯誤說:
爲「string.Contains(串)」的最佳重載的方法匹配具有一些無效參數。
它的寫法是:string.Contains
沒有超載只需要一個字符。
選項:
@ViewBag.Options.Contains("q")
@ViewBag.Options.IndexOf('q') != -1
Any
) - 是可行的,但這裏沒有必要。 (我很喜歡LINQ 在適當的地方但我認爲這不是正確的方法;我不會爲了它而開始在我的代碼中引入lambda表達式)爲什麼複雜,他可以做'@ ViewBag.Options.Any(x => x =='q');'? –
@NikhilAgrawal:因爲'Contains(「q」)''更復雜嗎?我遠離反LINQ,但爲什麼使用一個使用lambda表達式的方法,當一個非常簡單的方法調用也可以正常工作? –
那樣的話確定。 –
使用其中的任何
@ViewBag.Options.Contains("q");
@ViewBag.Options.Any(x => x == 'q');
如果你堅持
錯誤是不言自明的。 .Contains
的參數需要一個字符串,並且此方法不會重載一個字符。
在c#中使用單引號表示一個字符。
嘗試用雙引號:
@ViewBag.Options.Contains("q");
使用此:
@ViewBag.Options.Contains("q")
出於興趣,那你試試,當你得到了錯誤的信息?你瞭解錯誤嗎?你看看'string.Contains' *可以帶什麼? –