我有一個包含設置程序的文件,像這樣認沽設置成不同的字符串
setting1;value1;
setting2;value2;
setting3;value3;
我想遍歷這些行,指定從設置1值1到名爲相同的(設置1)串。所以字符串值將是value1 ..希望你能得到我?
我該怎麼做?
謝謝!
我有一個包含設置程序的文件,像這樣認沽設置成不同的字符串
setting1;value1;
setting2;value2;
setting3;value3;
我想遍歷這些行,指定從設置1值1到名爲相同的(設置1)串。所以字符串值將是value1 ..希望你能得到我?
我該怎麼做?
謝謝!
最明智的辦法就是千卡存儲在詞典:
// untested
Dictionary<string,string> settings =
File.Readlines("filename")
.Select(line => line.Split(";"))
.ToDictionary(parts => parts[0], parts => parts[1]);
// usage:
string value1 = settings["setting1"];
如果你真的想他們都分配給命名字段或屬性(但不包括:變量)一氣呵成,那麼你就需要反思。
你在閱讀很多這些嗎?如果只有一對夫婦,變量可能會起作用,但如果有很多,字典或類似的可能是一個不錯的選擇。 http://msdn.microsoft.com/en-us/library/xfhwa508%28v=vs.110%29.aspx或http://www.dotnetperls.com/dictionary
你只需要改變你的循環來添加一個新的字典條目 - 使用'設置'作爲鍵和值作爲值。
只有大約15個不同的設置,所以我可能只是將它們手動添加爲字符串..但是,如何用字符串名稱替換Properties.Settings.Default [phraseArr [0]]?像這樣的東西我想,但不知道:'string [phraseArr [0]] = phraseArr [1];' –
這將無法正常工作或編譯。如果這些設置需要在程序中使用,並且需要使用一致的名稱,並且您不想使用現有的數據結構,則可以考慮創建一個新類來存儲它們。一個簡單的類有一些屬性來設置和獲取它們。然後,您將在循環之前創建該類,並在循環中設置屬性。如果你想以這種方式使用它,那麼你需要事先知道設置的名稱以及你想設置它們的位置。您需要使用switch語句才能設置它們(切換到phraseArr [0])。 –
謝謝你,我甚至不知道字典!確實是一件非常好的事情!我對C#還是比較陌生的,但是這是一個偉大的語言。 –