2014-10-10 77 views
0

我想將屬性更新爲字典中的對象。將屬性更新爲作爲字典中值的對象

Dictionary<string, MyObject> test = new Dictionary<string, MyObject>(); 
test.Add("first", new MyObject { myString = "test_1", myInt = 123 } 

Class MyObject 
{ 
    public string myString { get; set; } 
    public int myInt {get; set;} 
    public int myInt2 {get; set;} 
} 

比方說,MyObject有3個屬性,一個字符串和2個整數。現在我搜索一個文本文件並找到第三個int值,我如何使用該鍵將它添加到字典中?

我對此有何看法?也許除了字典以外還有其他的東西可以使用?

本質上,我有一個關鍵,我需要爲它添加多個值,因爲我得到它們。

請讓我知道我可以澄清。

+0

什麼是MyObject? – 2014-10-10 00:27:58

+0

聽起來對我來說,你正試圖解決的問題有其他問題......你可以試着設計一個問題,解決你可能遇到的真正問題。換句話說,不確定你的問題的背景是什麼:「我是否以正確的方式去討論這個問題?」 – 2014-10-10 00:34:41

+0

當您嘗試將具有相同密鑰的多個值添加到字典中時,您將會遇到異常。 – 2014-10-10 00:36:13

回答

1

考慮到MyObject的樣子:

public class MyObject 
{ 
    public string StringProperty { get; set; } 
    public int Int1 { get; set; } 
    public int Int2 { get; set; } 
} 

您可以在這樣一個字典更新屬性的對象:

Dictionary<string, MyObject> test = new Dictionary<string, MyObject>(); 
test.Add("first", new MyObject {StringProperty = "test_1", Int1 = 123}); 

test["first"].Int2 = 321; 

關於你的方法。 正如對原始文章評論的那樣,您不能在Dictionary對象中存儲具有不同值的一個鍵。所以你選擇擁有數據對象,這個數據對象包含所有數據並在新數據出現時進行更新,這是非常合法的。

+0

完美。謝謝! – adventuresncode 2014-10-10 00:42:59

相關問題