2011-02-07 45 views
2

我正在通過使用返回數組的Linq讀取配置文件。作爲二維數組返回一個linq reasult?

有單一功能的Linq查詢,一個是返回端口號,另一個是項目名稱。該函數返回二維數組(或任何東西)。

public string[][] GetProjectsPorts(string cruiseControlPath) 
    { 
      var projectNames = (from item in xdoc.Elements("project") 
           select item.Attribute("name").Value).ToArray(); 


      var portNumber = (from item in xdoc.Elements("system.runtime.remoting"). 
            Elements("application").Elements("channels").Elements("channel") 
           select item.Attribute("port").Value).ToArray(); 

     return ?? 
    } 

的問題是,如何把兩個數組到一個單一的二維數組.....

另一種選擇是將其作爲返回一本字典,但它可以有多個相同的項目名稱。

感謝建議。

+0

順便說一句,你有什麼這裏是陣列(或鋸齒形陣列)的陣列。二維數組將是`string [,]`。重要的是要知道差異 – Dyppl 2011-02-07 08:18:34

回答

0

像這樣: -

return new string[][] { projectNames, portNumber}; 
+0

是的,你是對的!!!我想提一下,有一個端口號有很多項目。所以我的輸出像端口號的項目名稱 – PawanS 2011-02-07 08:12:54

4

我建議在一個單獨的數據類型中封裝{Project,Port}對,並返回該類型的數組(或列表)。除此之外,端口號可以是數字而不是字符串:)

如果您使用的是.NET 4,您可以使用Tuple<string, int>,但如果這將用於很多應用爲了便於閱讀,考慮創建自己的類型(屬性「項目」和「端口」比「Item1」和「Item2」清晰得多)。

+0

哦!如何創建一個存儲信息的類,因爲我有一個端口號的多個項目 – PawanS 2011-02-07 08:09:38