C#在删除重复的子字符串后获取第一整行

标签 c# linq

我有一个包含许多重复子字符串的文件,我想删除它们并只保留第一个并将第一个子字符串的整行写入富文本框,在我的代码中出现以下错误:

System.Linq.Enumerable+WhereSelectArrayIterator`2[System.String,System.

var FilePrefixes = File.ReadAllLines(FILE)
            .Select(line => line.Split(',')[0]);

var dupsubstrings= File.ReadAllLines(FILE)
    .Where(line => FilePrefixes.Count() > 1).Select(line => line.First());

richTextBox1.AppendText(dupsubstrings+ Environment.NewLine);

最佳答案

你在这里做什么:

.Select(line => line.First());

正在选择每行的第一个字符。我希望这不是您想要做的,而是选择第一行(如您在问题中所说)。

要选择第一行,请将 .Select 更改为:

.First();

关于C#在删除重复的子字符串后获取第一整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44026012/

相关文章:

c# - 带约束的 Moq 表达式 ... It.Is<Expression<Func<T, bool>>>

c# - LINQ to SQL 插入行为中的非生成属性

c# - 无法隐式转换类型 'System.Collections.Generic.IEnumerable Cast 错误

c# - XNA 4.0 中 2d 光照着色器中的 alpha 问题

c# - Json.NET解析对象中的数组

c# - 从 WPF 后面的代码添加 DataGrid.Columns

c# - 是否可以在 Serilog.Exceptions 中禁用基于反射的解构器?

c# - 使用 Linq 的列表顺序与排序不同

linq - 当字段需要首先解析时,如何在 linq 查询中进行过滤?

c# - Linq 查询 XML 以选择子节点的多个元素