3

電話番号から市外局番を取得する次の c# コードを確認してください。

        AreaCodeMap map = new AreaCodeMap();
        var areas = await _areas.GetAllAreasAsync();
        SortedDictionary<int, string> sortedMapForUS = new SortedDictionary<int, string>();
        foreach (var area in areas)
        {
            sortedMapForUS.Add(Int32.Parse(area.PhoneNoCode), area.AreaName);
        }
        map.readAreaCodeMap(sortedMapForUS);
        var areaCode = map.Lookup(phoneUS);
        if (areaCode == null)
        {
            throw new ApiException("No description for the area code was found", ConnectMeError.InvalidAreaCode);
        }  
        int areaCodeKey = sortedMapForUS.FirstOrDefault(x => x.Value == areaCode).Key;

私は次のコードを持っており、電話番号で試しています: +12015555777 は e164 形式でフォーマットされており、完全なエリア リストを指定すると、コード 201 NJ 'ニュージャージー' が返されますが、areaCode を確認すると 'null' が表示されます。この問題を解決するために可能な限りアドバイスしてください。libphonenumber の nuget を使用し、phoneUs のタイプは PhoneNumber です。

4

0 に答える 0