- 690 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 21:34:54.14 ]
- 分かりにくいし、データ構造の指定もないから逆に答えずらいわ…
private class A { public string ID { get; set; } public string Parent { get; set; } } var l = new List<A>(); l.Add(new A() { ID = "A", Parent = null }); l.Add(new A() { ID = "A1", Parent = "A" }); l.Add(new A() { ID = "A2", Parent = "A" }); l.Add(new A() { ID = "A21", Parent = "A2" }); l.Add(new A() { ID = "B", Parent = null }); l.Add(new A() { ID = "B1", Parent = "B" }); l.Add(new A() { ID = "B2", Parent = "B" }); l.Add(new A() { ID = "B3", Parent = "B" }); l.Add(new A() { ID = "B31", Parent = "B3" }); l.Add(new A() { ID = "B311", Parent = "B31" }); string sel = "A"; var ret = new List<A>(); l.ForEach(x => { if (x.Parent == sel || ret.Any(y => y.ID == x.Parent)) ret.Add(x); });
|

|