Загрузка файлов пользовательской конфигурации

Если массивы маленькие, то лучше всего использовать трехмерный массив.

Однако, если массивы большие и содержат только числа, лучше выровнять структуру в одном типизированном массиве, потому что это выделит намного меньше памяти, а также намного меньше объектов javascript.

Например, массив 200x200x200 имеет 8000000 элементов, и каждый по 8 байт (при условии чисел с плавающей запятой) будет занимать ~ 64 МБ, как если бы он был представлен как один Float64Array, и для текущего настольного компьютера это не проблема.

Представить то же самое, что и массив массивов массивов значений javascript, будет гораздо хуже, потому что служебный механизм будет больше, чем сами данные, и будет оказывать гораздо большее давление на сборщик мусора.

115
задан sirdank 21 December 2015 в 14:47
поделиться

2 ответа

статьи, отправленные Ricky, очень хороши, но к сожалению они не отвечают на Ваш вопрос.

Для решения проблемы необходимо попробовать эту часть кода:

ExeConfigurationFileMap configMap = new ExeConfigurationFileMap();
configMap.ExeConfigFilename = @"d:\test\justAConfigFile.config.whateverYouLikeExtension";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);

, Если потребность получить доступ к значению в конфигурации можно использовать индексный оператор:

config.AppSettings.Settings["test"].Value;
235
ответ дан Oliver 24 November 2019 в 02:23
поделиться

Файл конфигурации является просто XML-файлом, можно открыть его:

private static XmlDocument loadConfigDocument()
{
    XmlDocument doc = null;
    try
    {
        doc = new XmlDocument();
        doc.Load(getConfigFilePath());
        return doc;
    }
    catch (System.IO.FileNotFoundException e)
    {
        throw new Exception("No configuration file found.", e);
    }
    catch (Exception ex)
    {
        return null;
    }
}

и более позднее получение оценивает:

    // retrieve appSettings node

    XmlNode node =  doc.SelectSingleNode("//appSettings");
9
ответ дан Otávio Décio 24 November 2019 в 02:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: