Сохраните короткую строку

63
5

У меня есть много подсказок, которые будут использоваться в коде, каждое приглашение представляет собой строку, такую как "добро пожаловать в нашу компанию" или "добрый" и т.д.

Теперь я хочу управлять этими подсказками. Существует два способа: хранить каждую строку в файле, а затем загружать ее в код.

 private string LoadPrompt(string inid, string PromptsPath,string promptFile)
{
StringBuilder filetopen = new StringBuilder();
StringBuilder content = new StringBuilder();

filetopen.Append(PromptsPath + inid + "_" + promptFile);

try
{
if (File.Exists(filetopen.ToString()))
{
using (StreamReader reader = File.OpenText(filetopen.ToString()))
{
string line;
while ((line = reader.ReadLine()) != null)
{
content.Append(line);
}
}

}
}
catch (Exception ex)
{
AppLogEx(ex, "Utilities:LoadPrompt");
content.Clear();
content.Append("ERROR");
}

return content.ToString();
}

В другой - приглашения в app.config. Какой способ лучше и быстрее загрузить их?

спросил(а) 2021-01-19T18:34:10+03:00 6 месяцев, 1 неделя назад
1
Решение
99

Настройте строки как " Ресурсы".

Преимущество использования ресурсов над плоским файлом или app.config заключается в том, что вы можете локализовать свои строки на разных языках, и есть поддержка и инструменты, которые облегчают этот процесс. Если вы предоставляете несколько языков, ваша программа может автоматически выбрать соответствующий язык/культуру на основе локальной системы, не требуя дополнительной работы.

ответил(а) 2021-01-19T18:34:10+03:00 6 месяцев, 1 неделя назад
64

О коде вы можете сделать это проще

вместо

using (StreamReader reader = File.OpenText(filetopen.ToString()))
{
string line;
while ((line = reader.ReadLine()) != null)
{
content.Append(line);
}
}

ты можешь написать

File.ReadAllLines(filetopen.ToString())
.ToList() - added only for Foreach, I think you've your own Foreach extension for IEnumerable
.ForEach(x => content.AppendLine(x));

о подсказках, конфигах или ресурсах

ответил(а) 2021-01-19T18:34:10+03:00 6 месяцев, 1 неделя назад
45

Ну, если вы делаете это через app.config, это по существу файл XML. Таким образом, вы сможете легко найти правильную подсказку. Поскольку это файл настроек, имеет смысл хранить в нем любые настройки, которые вы могли бы изменить по дороге. Вы можете сделать то же самое с обычным текстовым файлом, но тогда вам нужно как-то пометить разные подсказки... в этом случае, возможно, также использовать XML.

ответил(а) 2021-01-19T18:34:10+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема