2014-02-24 60 views
0

我是一個新的C#用戶,目前有一個硬編碼的字符串數組,我希望這可供最終用戶更改而無需重新編譯代碼(因爲更多版本變爲將來可用):C#如何在運行時讀取字符串列表

public static string[] SheetNameString = new string[] 
    { 
     "VERSION3.7.1", 
     "VERSION3.7.2", 
     "VERSION3.7.2.3", 
     "VERSION3.7.3", 
     "VERSION3.8", 
     "VERSION3.8.1", 

     "Remove - item was closed" 
    }; 

你會如何去實現這一目標。我想到了定義它獲取在執行bin文件夾中讀出,然後在執行時在文本文件中定義的每一行被分配到列表中的一個元素的文本文件:

List<string> SheetNameString = new List<string>(); 

這是一個合理的做法?

+2

這是合理的。檢查到File.ReadAllLines:http://msdn.microsoft.com/en-us/library/system.io.file.readalllines(v=vs.110).aspx – mafafu

+0

好吧,我會嘗試這種方式,因爲它的簡單並可能完成工作 – AutoEng

回答

0

你應該使用的是App.config實用程序。 這裏有一篇關於如何使用它的好文章。 http://www.codeproject.com/Articles/616065/Why-Where-and-How-of-NET-Configuration-Files

+1

不確定最終用戶編輯app.config是一個好主意,可能取決於您的最終用戶是誰。儘管他在尋找什麼,但並不完全清楚。 – mafafu

+0

我正要問,這是否超出了最終用戶的範圍,他們的想法是他們可以輕鬆地將新版本添加到已有文件的末尾。 – AutoEng

0

取決於用例。如果您有多個用戶,則應該將其存儲在數據庫表中。然後,您的代碼將讀取該表的內容(最有可能使用Entity Framework或NHibernate),將其呈現給用戶,並允許進行基本的CRUD操作。

對於單用戶控制檯/ Windows應用程序,您可以將其存儲在一個文件中,讀入並根據需要進行更新。