簡體   English   中英

collection / string .Contains vs collection / string.IndexOf

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM