.NET Framework / Кодирование

Использование словарей: IDictionary, Dictionary

Примеры использования словарей: интерфейса IDictionary и класса Dictionary.

/// <summary>
/// Расширение функциональности интерфейса 
/// словаря <see cref="IDictionary{TKey,TValue}"/> 
/// с ключами и значениями типа <see cref="string"/>.
/// </summary>
// ReSharper disable once InconsistentNaming
public static class IDictionaryStringStringExtension
{
    /// <summary>
    /// Преобразование словаря в XML-строку.
    /// </summary>
    /// <param name="dictionary">Исходный словарь.</param>
    /// <param name="rootElementName">Имя корневого узла.</param>
    /// <returns>
    /// Метод возвращает строку, в которой содержимое словаря 
    /// представлено в виде XML.
    /// </returns>
    public static string ToXmlString(
        this IDictionary<string, string> dictionary,
        string rootElementName)
    {
        return dictionary.ToXmlElement(rootElementName).ToString();
    }


    /// <summary>
    /// Преобразование словаря в элемент XML.
    /// </summary>
    /// <param name="dictionary">Исходный словарь.</param>
    /// <param name="rootElementName">Имя корневого узла.</param>
    /// <returns>
    /// Метод возвращает содержимое словаря в виде элемента XML.
    /// </returns>
    public static XElement ToXmlElement(
        this IDictionary<string, string> dictionary, 
        string rootElementName)
    {
        return new XElement(
            rootElementName, 
            dictionary.Select(kv => new XElement(kv.Key, kv.Value)));
    }
}

About the author

Добавить комментарий