[英]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.