更加全面,靈活的解決方案表彰字符串比較:
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的話:這樣的解決方案正常工作的一小值,爲大設置考慮使用字典,HashSet等
請注意,如果選項的數量很大,您應該使用可以更有效地搜索的數據結構,如HashSet。對於小數據集而言,這並不相關。 – Servy 2013-02-20 19:58:41