快速获取Windows系统上的国家和地区信息
Windows系统上包含了200多个国家和地区的数据,有时候编程需要这些资料。以下代码可以帮助你快速获取这些信息。
将Console语句注释掉,可以更快的完成分析。
1 static void Main(string[] args) { 2 Console.WriteLine("Start!"); 3 // 这里可以修改文件路径和文件名称。 4 var sw = new StreamWriter(new FileStream("RegionInfo.txt", FileMode.OpenOrCreate)); 5 6 // 通过反射获取 RegionInfo 类的属性,作为标题写入文件流 7 sw.WriteLine("Culture," + string.Join(",", typeof(RegionInfo).GetProperties().Select(p => p.Name).ToArray())); 8 9 // Windows 系统中定义国家和地区信息使用 Culture 参数,该参数包含2位国家代码和2位地区代码 10 for (var i = 0x00; i < 0xff; i++) { 11 for (var j = 0x00; j < 0xff; j++) { 12 var culture = (i << 8) + j; // 构建 Culture 参数,i 为国家代码,j 为地区代码 13 RegionInfo ri = null; 14 // 并不是所有的 Culture 参数都是有效参数,因此需要处理实例化异常 15 try { 16 ri = new RegionInfo(culture); 17 // 通过反射获取实例化对象的属性值,并写入文件流 18 sw.WriteLine(culture + "," + string.Join(",", ri.GetType().GetProperties().Select(p => p.GetValue(ri, null).ToString()).ToArray())); 19 Console.WriteLine("0x{0:x}\tdone!", culture); 20 } catch { 21 continue; 22 } 23 } 24 } 25 sw.Flush(); 26 sw.Close(); 27 Console.WriteLine("All done!"); 28 Console.ReadKey(); 29 }
C#中除了 RegionInfo 类包含国家和地区信息,CultureInfo 类还包含了语言、文字等相关的其他信息,可以自行替换分析。
本文来自飞扬的尘埃的博客,转载请注明出处。