首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RegionInfo和GeoId

RegionInfo和GeoId
EN

Stack Overflow用户
提问于 2011-08-20 00:22:53
回答 1查看 728关注 0票数 0

我在考虑使用RegionInfo.TwoLetterISORegionName to作为一个数据库属性,从中获取有关某个国家的信息。直到我看到了RegionInfoGeoId,它看起来更健壮。

您会存储哪些内容来支持国际化?如何从GeoId创建RegionInfo?

干杯,

Berryl

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-20 00:35:10

使用P/Invoke和GetGeoInfo函数,您可以从GeoID获取一些信息:

代码语言:javascript
复制
    public static string GetGeoInfo(int geoId, SYSGEOTYPE geoType)
    {
        string s = new string('\0', 256);
        int size = GetGeoInfo(geoId, geoType, s, 256, 0);
        if (size <= 0)
            return null;

        return s.Substring(0, size - 1);
    }

    public enum SYSGEOTYPE
    {
        GEO_NATION = 0x0001,
        GEO_LATITUDE = 0x0002,
        GEO_LONGITUDE = 0x0003,
        GEO_ISO2 = 0x0004,
        GEO_ISO3 = 0x0005,
        GEO_RFC1766 = 0x0006,
        GEO_LCID = 0x0007,
        GEO_FRIENDLYNAME = 0x0008,
        GEO_OFFICIALNAME = 0x0009,
        GEO_TIMEZONES = 0x000A,
        GEO_OFFICIALLANGUAGES = 0x000B
    }

    [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    private extern static int GetGeoInfo(int geoId, SYSGEOTYPE geoType, string lpGeoData, int cchData, int language);

但是,请注意,地理位置和区域之间可能不存在1:1的对应关系。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7124552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档