2016-07-26 3 views
0

У меня вопрос о обработке данных на C#.Хранить данные внутри C#

Вот пример, чтобы прояснить ситуацию: I (будучи клиентом) необходимо записать имена файлов в программу, чтобы позже использовать эти имена файлов. Тем не менее, мне нужно (на моей машине) иметь возможность вводить эти имена файлов в консоль (которую я создаю из C#), а затем те имена, которые нужно обрабатывать внутренне (так что текстовые документы не сохраняют введенные данные), чтобы я мог отправлять та же копия приложения на другие машины, и у него все еще есть имена, которые запоминаются.

Любой способ, которым я могу выполнить это в C# ..?

Любая помощь очень ценится. Заранее спасибо!

+0

Непонятно, что вы просите или что вы ожидаете в качестве ответа. Для любой конкретной проблемы, которую вы имеете, пожалуйста, включите [Минимальный, Полный и Подтверждаемый пример] (http://stackoverflow.com/help/mcve). Также прочитайте [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask). Удостоверьтесь, что ваши вопросы специфичны и не слишком широки. – Igor

+0

Что вы подразумеваете под "store in internal"? Вы хотите сохранить файлы на диск или сохранить их в своем исполняемом файле? Сохранение исполняемого файла невозможно и не рекомендуется. –

+0

Не сохраняйте их в исполняемом файле. В лучшем случае это подозрительно и опасно в худшем случае. Синхронизируйте значения с помощью некоторых онлайн-ресурсов (базы данных или HTTP) или сохраните их в файле настроек, который вы используете совместно с приложением. – CompuChip

ответ

3

Нет, вы не можете изменить исполняемый файл во время его работы; это скомпилированная сборка из вашего кода, а сохранение значений в исполняемом исполняемом файле бессмысленно. То, что вы просите, это невозможно.

Вы можете хранить информацию в двоичном, зашифрованном файле, по крайней мере, если вы заинтересованы в безопасности или вы можете использовать базу данных. Существует несколько способов локального хранения (т. Е. Не требуется СУБД).

Вот ссылка на полезный SO сообщение: What is a good choice of database for a small .NET application?

+0

Ну, на самом деле он может хранить данные в своем .exe, например, создавая процесс «заглушки», который будет запускаться на выходе из основной программы, а затем записывать в него двоичные данные. (Я знаю, что это грязный несчастный хак, но я должен был сделать это сам) = ( –

0

Если я правильно понимаю вашу цель, вы можете использовать Settings для хранения данных, которые будут сохраняться. Доступ к свойствам проекта и выберите «Настройки». Нажмите, чтобы создать новый файл настроек. Вы можете добавить настройки прямо там, или вы можете сделать это программно:

static void Main(string[] args) 
{ 
    //Assuming you added a string setting named "FooSetting" you can set it like this: 
    Properties.Settings.Default.FooSetting = "Some Value..."; 
    Properties.Settings.Default.Save(); //you must call save or it won't persist 

    //Read a value like this: 
    Console.WriteLine(Properties.Settings.Default.FooSetting); 

    Console.ReadKey(); 
} 
Смежные вопросы