我有一个 500000 行的无序文件,它的信息和日期如下:
for instance desired Result
------------ ---------------
723,80 1,4
14,50 1,5
723,2 10,8
1,5 14,50
10,8 723,2
1,4 723,80
现在我怎样才能实现这样的事情呢?
我尝试了 sortedList 和 sorteddictionary 方法,但无法在列表中实现新值,因为列表中有一些重复值。 如果您建议最好的方法,我将不胜感激。
还有一件事,我已经看到了这个问题,但是这个问题在我使用 File 时使用了这个类!
最佳答案
var result = File.ReadAllLines("...filepath...")
.Select(line => line.Split(','))
.Select(parts => new
{
V1 = int.Parse(parts[0]),
V2 = int.Parse(parts[1])
})
.OrderBy(v => v.V1)
.ThenBy(v => v.V2)
.ToList();
默认情况下将正确处理重复项。如果要删除它们,请在某处添加 .Distinct()
,例如在 ReadAllLines
之后。
关于c# - 如何对文件 txt 第 5000000 行进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20661284/