2010-12-13 16 views
0

J'ai des codes de pays d'Active Directory venant comme ci-dessous en fonction de l'utilisateur. "US01", "UK01", "AUS01".Conception Question sur le mappage des données pour les mêmes codes de pays en C# .NET

J'ai une autre application interne qui donne le code de pays comme "États-Unis d'Amérique", "Royaume-Uni", "Australie", "Irlande".

Sur l'interface utilisateur, je souhaite afficher les noms de pays amis, car ils proviennent d'une application interne. Sans aller à la base de données (pour une autre table), j'essaye de cartographier ces deux codes de pays dans C# .NET.

Ex: 

US01 - Etats-Unis d'Amérique

UK01 - Royaume-Uni

AUS01 - Australie

Je me demande comment faire la cartographie? Appréciez votre temps.

Merci

+0

Existe-t-il un ID commun partagé entre les deux? En d'autres termes, comment un programme pourrait-il savoir que US01 est équivalent aux États-Unis d'Amérique? – StriplingWarrior

+0

Il semble que vous deviez aller à la base de données? Comment pouvez-vous dire que "US01" est le code pour "États-Unis d'Amérique" – poindexter12

Répondre

1

je pense, vous devez créer un dictionnaire statique

Dictionary<string,string> mapTwoValues = new Dictionary<string,string>(); 

mapTwoValues.Add("US01","United States of America"); 

et pour l'utilisation

mapTwoValues["US01"] which gives you the value as United States of America 
+0

Ceci est un cauchemar de maintenance. – jason

+0

pouvez-vous me montrer comment? – TalentTuner

+0

Cela ne transmet pas comment faire le mappage, mais comment stocker le mappage. Je * pense * que cet utilisateur se demande comment faire correspondre ces deux listes ensemble. Je voterais en bas mais la question est si peu claire, je ne peux pas dire ce que cet utilisateur veut. – poindexter12

0

Si vous pouviez limiter votre utilisation aux seuls codes pays ISO, vous pouvez procédez comme suit:

var regionInfo = new RegionInfo("GB"); 
Console.WriteLine(info.EnglishName); 

Sortie:

United Kingdom 

(Notez que "UK" est pas un code ISO du pays).

Sinon, vous devez aller à la base de données.

+0

Comment est-ce utile? – TalentTuner

+0

@Saurabh: Avez-vous perdu la tête? Je montre que vous pouvez utiliser la fonctionnalité intégrée pour convertir la norme internationale pour les codes de pays en leur nom anglais complet. Si l'utilisateur ne peut pas se limiter aux codes de pays ISO et doit utiliser des noms qui sont stockés dans une base de données, il doit obtenir ce mappage à partir de la base de données. Période. – jason

+0

@Jason: Et je dis qu'il suffit de créer un fichier XML et de stocker le mappage afin que vous puissiez montrer ce que vous voulez montrer pourquoi compliquer les choses et vous n'avez pas une table de base de données non désirée pour stocker 3 valeurs – TalentTuner