[英]String.IndexOf(Char) vs String.IndexOf(Char, StringComparison)
[英]collection/string .Contains vs collection/string.IndexOf
是否有理由在字符串/列表上使用.Contains而不是.IndexOf? 我將使用.Contains編寫的大多數代碼在不久之后需要項目的索引,因此必須執行這兩個語句。 但為什么不在一個?
if ((index = blah.IndexOf(something) >= 0)
// i know that Contains is true and i also have the index
你是對的, IndexOf
是一個比Contains
更通用的操作。 但是, Contains
仍然非常有用,因為它明確表示操作。
if(blah.IndexOf(something) >=0)
{
}
手術並不像以前那么明顯
if(blah.Contains(something))
{
}
因此,如果您需要索引,那么您應該使用IndexOf
操作,如果您只需要知道該字符串是否包含子字符串,那么請使用Contains
。
使用該工具完成創建的作業。
您想要使用Contains的一個原因是它有一個重載,它允許您指定IEqualityComparer<String>
(如果您希望比較不區分大小寫或其他什么)。 IndexOf沒有這樣的過載。
它們是用於不同目的的不同功能,但您可以使用IndexOf來模擬Contains。
使用Contains的原因? 在Linq中,特別是當翻譯成sql時,變成了一個相對簡單的sql語句,IndexOf翻譯起來更復雜
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.