2013-10-04 8 views

risposta

4

Un XmlDictionary è indicato per l'uso in XML compressione:

Dizionari stabilire una mappatura tra comunemente apparire stringhe di testo e numeri interi, e fornire un meccanismo efficace per la compressione e decompressione XML

Così , per ciascuna stringa aggiunta al dizionario, è associato un numero intero. Uno dei casi d'uso più comuni dopo l'aggiunta di una stringa al dizionario consiste nel voler utilizzare il numero intero che è ora associato a quella stringa.

E il Key property difornisce l'accesso a tale numero intero.

8

Da MSDN:

Se il valore stringa è già presente nel dizionario, viene restituito il XmlDictionaryString creato in precedenza per esso.

Questo potrebbe essere utile se non si desidera verificare se l'elemento è nel dizionario prima di aggiungerlo, si sarebbe solo in grado di utilizzare il valore restituito.

+0

Perché dovrei controllare se l'articolo è già presente nel dizionario? Il dizionario lo controlla da solo durante l'esecuzione di Add(). –

+0

Beh, devo confessare che non l'ho mai usato, quindi questo è ipotetico per me. Stavo immaginando una situazione in cui avevi una funzione che prendeva un 'XmlDictionaryString' come parametro, e puoi chiamare (ad esempio)' processXmlDictString (myXmlDict.Add ("example")) 'e non restituirebbe solo un null o lanciare un'eccezione se colpisci due volte la stessa stringa. Speriamo che qualcun altro possa fornire una risposta/commento migliore con un esempio, poiché penso che sarebbe di grande aiuto. – Gray

2

Il dizionario XML viene utilizzato per archiviare il mapping tra i valori interi della stringa & comunemente in xml e fornisce un modo per comprimere/decomprimere l'XML. Questo metodo viene utilizzato aggiungendo un valore stringa come voce Dizionario. Questo metodo restituisce un'istanza dell'oggetto System.Xml.XmlDictionaryString che rappresenta un . Questo oggetto espone le proprietà Key & Value che restituisce il valore chiave & della voce del dizionario.

XmlDictionary dict = new XmlDictionary(); 
XmlDictionaryString dictEntry = dict.Add("Name"); 
Console.WriteLine("Key:{0},Value:{1}",dictEntry.Key , dictEntry.Value); 
Problemi correlati