電話番号から市外局番を取得する次の 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 です。