我有列表,其中myObj擁有自己的名爲mySubObj的對象列表。 對象mySubObj具有prop字符串名稱。C#LINQ用於面向樹的數據結構類
所以我想在mySubObj的prop字符串Name上創建新的List基礎。
我寫了這個代碼,但它似乎是錯的:
var por = msgs.Where(x => x.Parameters
.Where(p => p.ParameterName == s).Count() == 1);
誰能幫助我與LINQ?
編輯:這是整個代碼:
foreach (string s in parameters)
{
using (StreamWriter streamWriter = new StreamWriter(outputFolder + "/" + s + ".xls"))
{
streamWriter.Write("No.\tMessage\tMS\tTime\tSC");
var por = (from m in msgs
from p in m.Parameters
where p.ParameterName == s
select m).Distinct();
List<string> headeri = new List<string>();
List<string> vrijednosti = new List<string>();
foreach (L3Message p in por)
{
foreach (Parameter pam in p.Parameters)
{
TraverseForHeaders(pam, ref headeri);
}
}
foreach (string head in headeri)
{
streamWriter.Write("\t" + head);
}
streamWriter.Write("\n");
編輯2:
這裏是我的兩個班,本應該更規定:
public class L3Message
{
public int Number { get; set; }
public string MessageName { get; set; }
public string Device { get; set; }
public string Time { get; set; }
public string ScramblingCode { get; set; }
public List<Parameter> Parameters { get; set; }
public L3Message()
{
Parameters = new List<Parameter>();
}}
public class Parameter
{
public int numOfWhitespaces { get; set; }
public string ParameterName { get; set; }
public string ParameterValue { get; set; }
public Parameter Parent { get; set; }
public List<Parameter> SubParameters { get; set; }
public Parameter()
{
SubParameters = new List<Parameter>();
}
}
是否想讓所有具有名稱x的參數的消息? – aKzenT 2012-03-31 16:44:16
這是怎麼回事?你想做什麼?你有什麼與你除了什麼? – 2012-03-31 16:47:51
嗯。我發現問題,但沒有解決方案,問題是myObj有兩個ParameterNames,並且這個LINQ做它要做的事情。除了我想要的輸出帶myObj女巫只有mySubObj一個定義ParameterName,另一種方式說我想角色出所有subObj名稱不同於字符串s。我會編輯問題。 – JohnDoeKazama 2012-03-31 17:16:30