Comment puis-je obtenir la valeur du dictionnaire par touche sur la fonction
mon code de fonction est le suivant (et la commande ce que j'essaye mais n'a pas fonctionné):
static void XML_Array(Dictionary<string, string> Data_Array)
{
String xmlfile = Data_Array.TryGetValue("XML_File", out value);
}
mon code de bouton est le suivant
private void button2_Click(object sender, EventArgs e)
{
Dictionary<string, string> Data_Array = new Dictionary<string, string>();
Data_Array.Add("XML_File", "Settings.xml");
XML_Array(Data_Array);
}
Je veux quelque chose comme ceci:
on XML_Array
function to be
string xmlfile = Settings.xml
c#
dictionary
key
Matei Zoc
la source
la source
Ce n'est pas ainsi que ça
TryGetValue
marche. Il retournetrue
oufalse
selon que la clé est trouvée ou non, et définit sonout
paramètre sur la valeur correspondante si la clé est là.Si vous voulez vérifier si la clé est là ou non et faire quelque chose quand elle manque, vous avez besoin de quelque chose comme ceci:
bool hasValue = Data_Array.TryGetValue("XML_File", out value); if (hasValue) { xmlfile = value; } else { // do something when the value is not there }
la source
Dictionary<String,String> d = new Dictionary<String,String>(); d.Add("1","Mahadev"); d.Add("2","Mahesh"); Console.WriteLine(d["1"]);// it will print Value of key '1'
la source
static void XML_Array(Dictionary<string, string> Data_Array) { String value; if(Data_Array.TryGetValue("XML_File", out value)) { ... Do something here with value ... } }
la source
static String findFirstKeyByValue(Dictionary<string, string> Data_Array, String value) { if (Data_Array.ContainsValue(value)) { foreach (String key in Data_Array.Keys) { if (Data_Array[key].Equals(value)) return key; } } return null; }
la source
private void button2_Click(object sender, EventArgs e) { Dictionary<string, string> Data_Array = new Dictionary<string, string>(); Data_Array.Add("XML_File", "Settings.xml"); XML_Array(Data_Array); } static void XML_Array(Dictionary<string, string> Data_Array) { String xmlfile = Data_Array["XML_File"]; }
la source
Voici un exemple que j'utilise dans mon code source. J'obtiens la clé et la valeur du dictionnaire de l'élément 0 au nombre d'éléments de mon dictionnaire. Ensuite, je remplis ma chaîne [] tableau que j'envoie en paramètre après dans ma fonction qui n'accepte que la chaîne de paramètres []
Dictionary<string, decimal> listKomPop = addElements(); int xpopCount = listKomPop.Count; if (xpopCount > 0) { string[] xpostoci = new string[xpopCount]; for (int i = 0; i < xpopCount; i++) { /* here you have key and value element */ string key = listKomPop.Keys.ElementAt(i); decimal value = listKomPop[key]; xpostoci[i] = value.ToString(); } ...
Cette solution fonctionne également avec SortedDictionary.
la source
J'utilise une méthode similaire à celle de dasblinkenlight dans une fonction pour renvoyer une valeur de clé unique à partir d'un cookie contenant un tableau JSON chargé dans un dictionnaire comme suit:
/// <summary> /// Gets a single key Value from a Json filled cookie with 'cookiename','key' /// </summary> public static string GetSpecialCookieKeyVal(string _CookieName, string _key) { //CALL COOKIE VALUES INTO DICTIONARY Dictionary<string, string> dictCookie = JsonConvert.DeserializeObject<Dictionary<string, string>> (MyCookinator.Get(_CookieName)); string value; if (dictCookie.TryGetValue( _key, out value)) { return value; } else { return "0"; } }
Où "MyCookinator.Get ()" est une autre fonction de cookie simple qui obtient une valeur globale de cookie http.
la source
if (Data_Array["XML_File"] != "") String xmlfile = Data_Array["XML_File"];
la source