Mi chiedo il motivo per cui il metodo restituisce XmlDictionary.Add()
XmlDictionaryString
. In quale scenario sarebbe utile questo oggetto?Perché XmlDictionary.Add() restituisce un XmlDictionaryString?
risposta
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.
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.
Perché dovrei controllare se l'articolo è già presente nel dizionario? Il dizionario lo controlla da solo durante l'esecuzione di Add(). –
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
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);
- 1. Perché difftime() restituisce un doppio?
- 2. Perché Math.ceil restituisce un doppio?
- 3. Perché Math.Round non restituisce un int?
- 4. Perché questa funzione Perl restituisce un valore?
- 5. Perché un python dict.update() non restituisce l'oggetto?
- 6. perché richiedono ("angolare") restituisce un oggetto vuoto
- 7. Perché req.params restituisce un array vuoto?
- 8. Perché jQuery restituisce un indice di 3?
- 9. Perché "fopen" restituisce un puntatore NULL?
- 10. Perché IJavaProject.findPackageFragmentRoots restituisce un array vuoto?
- 11. Perché range() non restituisce un elenco?
- 12. Perché floor non restituisce un intero?
- 13. Perché Int64.MaxValue restituisce un valore Long?
- 14. Perché operator ++ restituisce un valore non const?
- 15. Perché DateTimeInfo.MonthNames restituisce un membro 13?
- 16. Android - Perché onItemLongClick (...) restituisce un valore booleano?
- 17. Perché play.libs.Json.toJson restituisce un oggetto vuoto?
- 18. Perché HttpContext.Current.User.Identity.Name restituisce vuoto
- 19. non restituisce nulla. Perché?
- 20. Perché Enum.Parse() restituisce l'oggetto?
- 21. Perché chrome.extension.getBackgroundPage() restituisce null?
- 22. Perché Assembly.GetExecutingAssembly() restituisce null?
- 23. Perché ISNUMERIC ('.') Restituisce 1?
- 24. Perché CMSampleBufferGetImageBuffer restituisce NULL
- 25. Perché sys.getrefcount() restituisce 2?
- 26. Perché getHandler() restituisce null?
- 27. Perché String.Equals restituisce false?
- 28. Perché AES_DECRYPT restituisce null?
- 29. Perché map.erase restituisce l'iteratore?
- 30. Perché Parse.Config restituisce undefined?
Cosa considereresti un tipo di reso più appropriato? –
vuoto? o bool? =) –