次の 2 つのうちどちらがより効率的でしょうか? (あるいは、さらに優れた 3 番目のオプションがあるでしょうか?)
string val = "AStringValue";
if (val.Equals("astringvalue", StringComparison.InvariantCultureIgnoreCase))
または
if (val.ToLowerCase() == "astringvalue")
?
ベストアンサー1
効率を重視する場合は、以下を使用してください。
string.Equals(val, "astringvalue", StringComparison.OrdinalIgnoreCase)
順序による比較は、文化を考慮した比較よりも大幅に高速になります。
ToLowerCase
ただし、同じ文字列に対して多くの比較を実行する場合は、より良いオプションになる可能性があります。
あらゆるパフォーマンス最適化と同様に、測定してから決定してください。