3
내 입력는 트 리뷰 스타일
Sore | aye
A | 1
A | 2
A | 3
B | 1
B | 2
출력을 보여줍니다 : 나는이 객체 감안할 때 아래 트 리뷰
A
1
2
3
B
1
2
내 입력는 트 리뷰 스타일
Sore | aye
A | 1
A | 2
A | 3
B | 1
B | 2
출력을 보여줍니다 : 나는이 객체 감안할 때 아래 트 리뷰
A
1
2
3
B
1
2
에 상단 테이블을 정렬 할 :
public class MyObject
{
public string Sore { get; set; }
public int aye { get; set; }
}
이 데이터를 사용 :
var ls=new List<MyObject>();
ls.Add(new UserQuery.MyObject(){Sore="A",aye=1});
ls.Add(new UserQuery.MyObject(){Sore="A",aye=2});
ls.Add(new UserQuery.MyObject(){Sore="A",aye=3});
ls.Add(new UserQuery.MyObject(){Sore="B",aye=1});
ls.Add(new UserQuery.MyObject(){Sore="B",aye=2});
당신은 아주 쉽게이 작업을 수행 할 수 있습니다
var result=ls.GroupBy (l =>l.Sore)
.Select (l =>new
{
Root= l.Key,
Children=l.Select (x =>x.aye)
}
).ToList();
그리고 목록 단지 루프 :
foreach (var root in result)
{
//root.Root to the root node
foreach(var child in root.Children)
{
//Add the child to the root nodes children
}
}
var str = "Sore | aye\r\nA | 1 \r\nA | 2\r\nA | 3\r\nB | 1\r\nB | 2";
var relations = str.Split(new[] {Environment.NewLine},
StringSplitOptions.RemoveEmptyEntries)
.Skip(1).Select(l => l.Split('|').Select(
x => x.Trim()).ToArray()).ToArray();
var relationsDic = new SortedDictionary<string, SortedSet<string>>();
foreach (var relation in relations)
{
if (relationsDic.ContainsKey(relation[0]))
{
relationsDic[relation[0]].Add(relation[1]);
}
else
{
relationsDic[relation[0]] = new SortedSet<string> {relation[1]};
}
}
foreach (var kvp in relationsDic)
{
Console.WriteLine(kvp.Key);
foreach (var sub in kvp.Value)
{
Console.WriteLine("\t" + sub);
}
}
당신이 시도 않았고, 왜 작동하지 않았다? – dasblinkenlight