如果国家名单是不可能改变的,你可以做这样的事情:
// note: sorted alphabetically
private static readonly string[] countries = new string[] {
"AF", "AN", "BD", "CA", "CY", "IL",
"IN", "IR", "PH", "RO" };
private bool CheckMemberCountry(string country)
{
return Array.BinarySearch<string>(countries, country) >= 0;
}
如果国家做出改变,你可能想把它们放在一个配置文件中。您的App.config文件可能类似于:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="countries" value="AF,BD,CA,IN,IR,RO,AN,CY,IL,PH"/>
</appSettings>
</configuration>
而在上面的代码中,你可以更换行:
private static readonly string[] countries = new string[] {
"AF", "AN", "BD", "CA", "CY", "IL",
"IN", "IR", "PH", "RO" };
用(包括对System.Configuration.dll的引用,包括系统。配置在你的使用):
using System.Configuration;
// ...
private static readonly string[] countries = ConfigurationManager
.AppSettings["countries"] // configuration setting with key "countries"
.Split(',') // split comma-delimited values
.Select(a=>a.Trim()) // trim each value (remove whitespace)
.OrderBy(a=>a) // sort list (for binary search)
.ToArray(); // convert to array
究竟是什么问题?代码是行不通的? – bAN 2012-07-13 11:15:37
为什么你的人不使用收藏列表 ls =新列表(); ls.add然后循环 –
skhurams
2012-07-13 11:15:46
如果我不想硬编码这些国家的值,我怎么能在代码中处理它? – Vidya 2012-07-13 11:24:43