簡體   English   中英

返回linq結果為2D數組?

[英]Return a linq reasult as 2D array?

我正在使用返回數組的Linq讀取配置文件。

在單個函數中有對Linq的查詢,一個是返回端口號,另一個是項目名稱。 該函數以2D數組(或任何形式)返回兩者。

  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 ??
    }

問題是,我如何將兩個數組都放入單個2D數組.....

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

感謝建議。

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

如果您使用的是.NET 4,則可以使用Tuple<string, int>但是如果要大量使用它,則出於可讀性考慮,應考慮創建自己的類型(屬性“ Project”和“ Port” ”比“ Item1”和“ Item2”要清晰得多)。

像這樣:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM