Как изменить настройки конфигурации приложения? App.config лучший способ пойти?

Вы можете попробовать приведенный ниже код, это сработало правильно.

var inputArray = [1, 6, 6, 6, 6, 4, 3, 5, 5, 5, 2, 2]
inputArray.sort()
let freq = inputArray.sorted { f, s in
    inputArray.filter { [110] == f}.count < inputArray.filter { [110] == s}.count
}
print(freq)

Не уверен насчет сложности времени.

13
задан mattruma 23 January 2009 в 14:27
поделиться

7 ответов

Это глупо..., и я думаю, что оказываюсь перед необходимостью приносить извинения за трату общего времени! Но похоже, что я просто должен установить объем на Пользователя вместо Приложения, и я могу запись новое значение.

11
ответ дан 1 December 2019 в 21:12
поделиться

Не уверенный, если это - то, что Вы после, но можно обновить и сохранить сходить с приложения:

ConsoleApplication1. Свойства. Настройки. Значение по умолчанию. StringSetting = "тест"; ConsoleApplication1. Свойства. Настройки. Значение по умолчанию. Сохраните ();

2
ответ дан 1 December 2019 в 21:12
поделиться

Править: Моя ошибка. Я неправильно понял цель исходного вопроса.

ОРИГИНАЛЬНЫЙ ТЕКСТ:

Мы часто устанавливаем наши настройки непосредственно в app.config файле, но обычно это для наших пользовательских настроек.

Пример app.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="MySection" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </configSections>
    <connectionStrings>
        <add name="Default" connectionString="server=MyServer;database=MyDatabase;uid=MyDBUser;password=MyDBPassword;connection timeout=20" providerName="System.Data.SqlClient" />
    </connectionStrings>
    <MySection>
        <add key="RootPath" value="C:\MyDirectory\MyRootFolder" /> <!-- Path to the root folder. -->
        <add key="SubDirectory" value="MySubDirectory" /> <!-- Name of the sub-directory. -->
        <add key="DoStuff" value="false" /> <!-- Specify if we should do stuff -->
    </MySection>
</configuration>
2
ответ дан 1 December 2019 в 21:12
поделиться

Как Вы ссылаетесь на класс Настроек в своем коде? Вы используете экземпляр по умолчанию или создаете новый объект Настроек? Я полагаю, что экземпляр по умолчанию использует сгенерированное значение разработчика, которое перечитано от конфигурационного файла только, когда свойства открыты. Если Вы создаете новый объект, я полагаю, что значение читается непосредственно из самого конфигурационного файла скорее от сгенерированного разработчиками атрибута, если установка не существует в app.config файле.

Обычно мои настройки будут в библиотеке, а не непосредственно в приложении. Я установил допустимые значения по умолчанию в файле свойств. Я могу затем переопределить их путем добавления соответствующего раздела конфигурации (полученный и измененный из библиотеки app.config файл) в конфигурации приложения (или web.config или app.config, как соответствующего).

Используя:

 Settings configuration = new Settings();
 string mySetting = configuration.MySetting;

вместо:

 string mySetting = Settings.Default.MySetting;

ключ для меня.

2
ответ дан 1 December 2019 в 21:12
поделиться
 System.Configuration.Configuration config =ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

        config.AppSettings.Settings["oldPlace"].Value = "3";     
        config.Save(ConfigurationSaveMode.Modified);
        ConfigurationManager.RefreshSection("appSettings");

Попробуйте использовать этот код, это просто.

Атте: Эрик Силиезар

3
ответ дан 1 December 2019 в 21:12
поделиться

Попробуйте:

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <configSections>
   <!--- ->
  </configSections>

  <userSettings>
   <Properties.Settings>
      <setting name="MainFormSize" serializeAs="String">
        <value>
1022, 732</value>
      </setting>
   <Properties.Settings>
  </userSettings>

  <appSettings>
    <add key="TrilWareMode" value="-1" />
    <add key="OptionsPortNumber" value="1107" />
  </appSettings>

</configuration>

Считывание значений из App.Config File:

//This method will read the value of the OptionsPortNumber in the
//above app.config file.
private int LoadConfigData ()
    {
        System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
        // AppDomain.CurrentDomain.SetupInformation.ConfigurationFile
        // points to the config file.   
        doc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
        int smartRefreshPortNumber = 0;
        foreach (XmlNode node in doc.ChildNodes.Item(1))
        {
        //Searching for the node “”
            if (node.LocalName == "appSettings")
            {
                 smartPortNumber =Convert.ToInt32(node.ChildNodes.Item(1).Attributes[1].Value);
            }
        }
        Return smartPortNumber;
    }

Обновление значения в App.config:

//This method will read the value of the OptionsPortNumber in the
//above app.config file.
private void UpdateConfigData()
    {
        System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
        doc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);


        //Looping through all nodes.
        foreach (XmlNode node in doc.ChildNodes.Item(1))
        {
        //Searching for the node “”
            if (node.LocalName == "appSettings")
            {
                if (!dynamicRefreshCheckBox.Checked)
                {
                    node.ChildNodes.Item(1).Attributes[1].Value = this.portNumberTextBox.Text;
                }
                else
                {
                    node.ChildNodes.Item(1).Attributes[1].Value = Convert.ToString(0);
                }
            }
        }
        //Saving the Updated values in App.config File.Here updating the config
        //file in the same path.
        doc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
    }
1
ответ дан 1 December 2019 в 21:12
поделиться
Другие вопросы по тегам:

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