Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#文本编辑器为列表建模_C#_.net_Html_Text_Editor - Fatal编程技术网

c#文本编辑器为列表建模

c#文本编辑器为列表建模,c#,.net,html,text,editor,C#,.net,Html,Text,Editor,我正在尝试创建一个文本编辑器,它是文本字符串列表的前端。用户可以在文本编辑器中进行更改,我希望能够将更改推回到列表中相应的元素。 假设这是列表 List<string> element; element.Add("I was walking one morning,"); element.Add(" all of the sudden it started to rain,"); element.Add(" I opened my umbrella and looked for th

我正在尝试创建一个文本编辑器,它是文本字符串列表的前端。用户可以在文本编辑器中进行更改,我希望能够将更改推回到列表中相应的元素。 假设这是列表

List<string> element;
element.Add("I was walking one morning,");
element.Add(" all of the sudden it started to rain,");
element.Add(" I opened my umbrella and looked for the closest coffee shop.");
element.Add(" After few blocks I was sheltered enjoying my morning coffee.");
列表元素;
添加(“一天早上我在散步,”);
添加(“突然开始下雨,”);
添加(“我打开伞,寻找最近的咖啡店。”);
添加(“过了几个街区,我就躲在家里喝早茶了。”);
它应在编辑器中显示为常规文本:

一天早上,我正在散步,突然下起雨来,我打开伞,寻找最近的咖啡馆。过了几个街区,我就躲藏起来,享受着早晨的咖啡

因此,当用户对“查找最近的”进行更改时,我希望能够知道他正在对元素[2]进行更改

我还需要存储有关单个元素(格式和其他内容)的更多信息,因此需要使用List

我查看了HTML编辑器,并尝试将每个句子包装在一个div中,但当用户进行更改时,HTML编辑器会合并或删除该div。因此,这会产生额外的工作

我在考虑RTF,但在网上看到并没有固定的标准

我对清单和其他信息的实施非常灵活

有人有什么建议吗


非常感谢。

要将列表显示为一个句子,可以使用string.Join(“,”,句子.ToArray())将字符串元素加入列表中

您必须添加一个句子分隔符(一些特殊字符),这将帮助您识别已更改的句子

您可以再次使用.Split(',').ToList()填充列表


我希望这能帮助你,快乐编码

要将列表显示为句子,可以使用string.Join(“,”,句子.ToArray())将字符串元素加入列表中

您必须添加一个句子分隔符(一些特殊字符),这将帮助您识别已更改的句子

您可以再次使用.Split(',').ToList()填充列表


我希望这能帮助你,快乐编码

如果需要存储有关语句的额外信息,请考虑创建<代码>语句类,并公开必要的方法/属性。使用字符串列表不会给你想要的功能(无论如何也不容易)。我不明白。“一天早上我在散步,”这不是一句话。它以逗号结尾,所以是较长句子的一部分。如果您实际上是按句子进行拆分,那么您可以尝试使用
text.Split(new[]{'.','!','?'})
进行一些巧妙的操作。然后,只要没有人删除你的句号,或插入新句子,你就可以跟踪变化。请澄清您的要求,以便我们能够提供帮助。我最终会创建这个类,这是一个自然的过程,但在投入时间到其他领域之前,我正在尝试弄清楚编辑的概念。詹姆斯,我编辑了这篇文章,我不能依赖标点符号。用户可以自由添加到文本中。我想知道WYSIWYG HTML编辑器是如何做到这一点的。它们精确地指向用户编辑文本的位置。如果需要存储关于语句的额外信息,请考虑创建<代码>语句类,并公开必要的方法/属性。使用字符串列表不会给你想要的功能(无论如何也不容易)。我不明白。“一天早上我在散步,”这不是一句话。它以逗号结尾,所以是较长句子的一部分。如果您实际上是按句子进行拆分,那么您可以尝试使用
text.Split(new[]{'.','!','?'})
进行一些巧妙的操作。然后,只要没有人删除你的句号,或插入新句子,你就可以跟踪变化。请澄清您的要求,以便我们能够提供帮助。我最终会创建这个类,这是一个自然的过程,但在投入时间到其他领域之前,我正在尝试弄清楚编辑的概念。詹姆斯,我编辑了这篇文章,我不能依赖标点符号。用户可以自由添加到文本中。我想知道WYSIWYG HTML编辑器是如何做到这一点的。他们准确地指出了用户编辑文本的位置。将文本交给编辑器没有什么大不了的,问题在于找出正在编辑的区域。使用特殊字符分隔列表将不起作用,用户可以删除这些字符,这将使列表脱离。谢谢。把文本交给编辑没什么大不了的,问题在于找出被编辑的区域。使用特殊字符分隔列表将不起作用,用户可以删除这些字符,这将使列表脱离。谢谢你。