2016-07-26 41 views
0

我對C#中的數據處理有疑問。在內部存儲數據C#

下面是一個例子來說明事情:我(作爲客戶端)需要將文件名寫入程序,以便以後可以使用這些文件名。但是,我需要(在我的機器上)能夠將這些文件名輸入到控制檯(我從C#構建的)中,然後在內部處理這些名稱(因此沒有存儲輸入數據的文本文檔),以便我可以發送同樣的應用程序副本到其他機器,它仍然記住名字。

任何方式,我可以在C#中完成此?..?

任何幫助,非常感謝。提前致謝!

+0

根本不清楚您提出的問題或您期望的答案。對於您遇到的任何特定問題,請包括[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。另請閱讀[我如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)。確保你的問題具體而不是過於寬泛。 – Igor

+0

「內部存儲」是什麼意思?你的意思是將文件保存到磁盤或將它們保存在可執行文件中?保存到可執行文件是不可能的,也不推薦。 –

+0

不要將它們保存到可執行文件。最壞的情況是魚腥味,危險。使用某些聯機資源(數據庫或HTTP)同步這些值或將它們保存在與應用程序共享的設置文件中。 – CompuChip

回答

3

不,您不能在運行時修改可執行文件;它是從您的代碼編譯的程序集,並將值保存到正在運行的可執行文件是沒有意義的。你要求它做的是不可能的。

如果您擔心安全問題,或者您可以使用數據庫,則至少可以將信息存儲在二進制加密文件中。有幾種方法可以在本地存儲(即不需要DBMS)。

下面是一個有用的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(); 
}