2016-03-02 14 views
1

我有以下類初始化字典<T,T>「對飛」

public class PLCWrapper 
{ 
    public int plc_id { get; set; } 
    public List<SchakelingWrapper> schakelingWrapperList { get; set; } 
    public Dictionary<string, string> globalVarDict { get; set; } 
} 

public class SchakelingWrapper 
{ 
    public int schakeling_id { get; set; } 
    public Dictionary<string, string> varDict { get; set; } 
} 

我想要做類似下面,但不能獲取它固定。當然有人知道如何?

if (plcWrapper.schakelingWrapperList.Exists(item => item.schakeling_id == id)) { 
    plcWrapper.schakelingWrapperList.Single(item => item.schakeling_id == id).varDict.Add(varName, varValue); 
} else { 
    plcWrapper.schakelingWrapperList.Add(new SchakelingWrapper() 
    { 
     schakeling_id = id, 
     varDict = new Dictionary<string, string>(varName, varValue)//This does not work 
    }); 
} 
+2

要初始化字典,值使用數組初始化符號如:'new Dictionary {{varName,varValue}};' –

+0

謝謝,這工作得很好! –

回答

1

改變這一行從

varDict = new Dictionary<string, string>(varName, varValue)//This does not work 

varDict = new Dictionary<string, string>() {{varName, varValue}} 
1

它需要像...

varDict = new Dictionary<string, string>() 
{ 
    {varname, varvalue} 
} 
+0

D'oh @Diamong GeezeR擊敗了我:-) – DanHedges