创建一个'使用列表进行结构

本文关键字:列表 结构 一个 创建 | 更新日期: 2023-09-27 18:14:57

嗯,我有一个程序,与多个字符串源和我存储在一个列表。我想在每一处都修剪一下绳子。并将得到的句子存储在某个地方。然后从第一句话开始,我想在每个空格处修剪它,并将每个单词存储在某个地方。

我想稍后访问每个单词来组合单词,如果我能像sources.source[2].sentence[23].level[2]那样访问它们就太好了。Word[2]或类似的东西

我将这样组合:Jon有蓝色药丸。(例如:这是source.source[2]。句子[1])

Jon有蓝色药丸。(使)

John has | has blue |蓝色药丸

John has blue | has blue pills .(level3)

约翰有蓝色药丸。(level4)

我尝试使用嵌套列表,但我不知道如何在子列表中编辑特定索引。

图片示例:http://prntscr.com/469ty2

创建一个'使用列表进行结构

我真的不太明白你到底想做什么,但是这里有一个简单的入门,可以让你了解如何使用列表构建树状结构。

如果您定义一个Fragment来表示树中的一个节点,那么它需要包含一个字符串,以及它的子列表:

class Fragment
{
    string Content { get; set; }
    List<Fragment> Children { get; set; }
}

要构建您的树,您将使用root.Content = "John has blue pills"创建root片段。

然后(递归地)处理这个片段以细分它并创建它的子片段(例如两个片段,内容为"John has"answers"blue Pills")。您将使用root.Children.Add()将这两个片段添加为根的子节点。然后,您将(递归地)处理每个片段(("John","has")和("blue,"pills")),等等…

要提取数据,您必须使用root.Children[0].Children[1].Content这样的形式来引用第三层的东西(在我的示例中,这将返回"has")。

当然,如果你有一个固定的结构(段落、句子、词),那么你可以像这样表示这三个层次(用伪代码来突出关键结构):
class Paragraph { List<Sentence> Sentence; }
class Sentence  { List<string>  Word;

…在根级,你的程序将保存一个List<Paragraph> Paragraph;

那么你的客户端代码将更可读:string word = Paragrah[2].Sentence[14].Word[5]