【发布时间】:2013-12-27 02:00:43
【问题描述】:
我想知道是否有人可以提供帮助。
我有一个文本文件,其中包含在 \t 上拆分的行。它们有两列,一个代码和一个名称。
我希望将这个一维结构拆分为代码列上的父子层次结构。
数据示例:
0100000000 Coffee
0110000000 Mocha
0120000000 Cappuccino
0121000000 Semi skimmed
0121100000 Starbuckz
0121200000 Costa
0122000000 Skimmed
0130000000 Latte
人类可读的层次结构:
0100000000 Coffee
0110000000 Mocha
0120000000 Cappuccino
0121000000 Semi skimmed
0121100000 Starbuckz
0121200000 Costa
0122000000 Skimmed
0130000000 Latte
我想将此结构转换为如下格式:
public class LineData
{
public string OriginalCode { get; set; }
public string Title { get; set; }
public LineData Parent { get; set; }
public List<LineData> Children { get; set; }
}
列表是静态的,我最终可能只是存储在内存中。
【问题讨论】:
-
到目前为止你有什么想法?另外,数据代表什么层次结构?
-
我还没有开始,我想知道他们是否是解决这个问题的最佳实践。例如,您是从右到左还是从左到右工作,因为代码用零填充到 8 个字符。
-
我没有看到父子关系?
-
我已对其进行了编辑以使其更加可见
-
@Phil 一个递归函数,它采用列表、深度和起点并循环直到该深度处的标志发生变化,这将是一个通用解决方案。
标签: c#