将多行合二为一

我有一个关于如何将多行合并为一行的问题。


我有一张这样的桌子


Code Line Text

------------------------

001  1    some text

002  1    some text

002  2    next some text

003  3    some text

交易是一个代码可以有多行。


到目前为止,我有一本字典来检查代码是否存在,如果不存在,则将该文本及其代码添加到字典中。但是如何检查是否有多个代码(多行)并合并为一个?


foreach (var item in file)

{

    if (!dict.ContainsKey(item.CODE))

    {

        dict.Add(item.CODE, item.NOTE);

    }

}

可以有另一个选项,不仅是字典,感谢大家的帮助!


编辑感谢@Rufus 的回答,我解决了我的问题。解决方案:


  foreach (var item in file)

                {

                    if (!dict.ContainsKey(item.CODE.ToString()))

                    {

                        dict.Add(item.CODE.ToString(), item.NOTE.ToString());

                    }

                    else

                    {

                        dict[item.CODE.ToString()] += " " + item.NOTE.ToString();

                    }

                }


精慕HU
浏览 159回答 1
1回答

守着一只汪

看来您想将on分组;如果有几个项目,他们应该下令通过。您可以尝试使用LinqTextCodegroupLine提供file器具IEnumerable<MyClass>,其中MyClass有Code,Line,Text属性(字段),你可以把var dict = file&nbsp; .GroupBy(item => item.Code)&nbsp; .ToDictionary(group => group.Key,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; group => string.Join(Environment.NewLine, group&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .OrderBy(item => item.Line)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Select(item => item.Text)));&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP