文字列比較を尊重する、より包括的で柔軟なソリューション:
using System;
using System.Collections.Generic;
using System.Linq;
public static class StringExtensions
{
public static bool EqualsAny(this string target, StringComparer comparer, params string[] values)
{
return target.EqualsAny(comparer, (IEnumerable<string>) values);
}
public static bool EqualsAny(this string target, params string[] values)
{
return target.EqualsAny((IEnumerable<string>)values);
}
public static bool EqualsAny(this string target, StringComparer comparer, IEnumerable<string> values)
{
return values.Contains(target, comparer);
}
public static bool EqualsAny(this string target, IEnumerable<string> values)
{
return values.Contains(target, StringComparer.OrdinalIgnoreCase);
}
}
使用法:
if (title.EqualsAny("User greeting", "User name"))
{
//do stuff
}
PS @Servy の言葉を繰り返します: このようなソリューションは、値の小さなセットに対してはうまく機能します。大きなセットについては、Dictionary、HashSet などの使用を検討してください。