3
Q
显示树状风格
A
回答
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
}
}
1
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);
}
}
相关问题
- 1. 如何在WPF中显示树状风格?
- 2. 以树状格式显示数组
- 3. D3树状图 - 未显示
- 4. YUI:显示在树状
- 5. 形状风格
- 6. 默认显示风格
- 7. JQuery的风格显示值
- 8. 以ASCII格式显示树
- 9. 风格ActionSheet的UIAlertController显示如下状态栏
- 10. 从树状结构中的表格中显示类别
- 11. jqgrid树状网格显示用户自定义图标
- 12. 以树状结构显示数据
- 13. 将字典显示为树状图吗?
- 14. 如何显示树状结构angular2
- 15. 在rails上显示树状结构
- 16. 在树状视图中显示html odoo
- 17. 绷格显示状态
- 18. 显示:块杀死我的风格
- 19. 奇怪显示的孩子的风格
- 20. 显示/隐藏元素破坏风格
- 21. phpBB3风格 - 图像不显示
- 22. Angularjs不适用于显示无风格
- 23. 熊猫风格不显示列名
- 24. 显示和隐藏div Android风格
- 25. 的Javascript风格显示不工作
- 26. 按钮形状风格
- 27. 显示树/图
- 28. ASP.Net VB - 显示数据手风琴风格
- 29. 如何获得风格榆树
- 30. 穿过树 - 向导风格(asp.net mvc)
那你试试,为什么它不工作? – dasblinkenlight 2012-04-21 11:03:14