1

私はオーストラリアのような国名を持っており、この場合は AU のような ISO 3166-1 alpha 2 コードを取得したいと考えています。.NET でこれを簡単に行う方法はありますか?

4

3 に答える 3

4

ISO 3166-2コードの国名で同様の質問がありました

    /// <summary>
    /// English Name for country
    /// </summary>
    /// <param name="countryEnglishName"></param>
    /// <returns>
    /// Returns: RegionInfo object for successful find.
    /// Returns: Null if object is not found.
    /// </returns>
    static RegionInfo getRegionInfo (string countryEnglishName)
    {
        //Note: This is computed every time. This may be optimized
        var regionInfos = CultureInfo.GetCultures(CultureTypes.SpecificCultures)
           .Select(c => new RegionInfo(c.LCID))
           .Distinct()
           .ToList();
         RegionInfo r = regionInfos.Find(
                region => region.EnglishName.ToLower().Equals(countryEnglishName.ToLower()));                       
         return r;
    }
于 2014-12-24T01:37:36.950 に答える
2

国名を 2 文字の ISO コードに変換する機能は組み込まれていません。

2 つの間でマップする辞書を作成できます。

var countryToISO2Map = new Dictionary<string,string>{
   {"Australia", "AU"},
   ...      
};
于 2013-01-02T13:29:26.287 に答える