日期:2014-05-17  浏览次数:20948 次

C#读取txt,实现对其数据排序,并写入排序后的结果
用winform写
例,txt包含数据如下:(数据是不断添加的)
12
13
14
21
31
41
51
22


求大神指导!!!
txt 排序 c#

------解决方案--------------------
本帖最后由 caozhy 于 2013-01-21 20:51:49 编辑
string s = @"12
13
14
21
31
41
51
22";
string ordereds = string.Join("\r\n", s.Split(new string[] { "\r\n" }, StringSplitOptions.None).OrderBy(x => x));
------解决方案--------------------
File.WriteAllLines(@"c:\2.txt",File.ReadAllLines(@"C:\1.txt", Encoding.GetEncoding("GB2312")).OrderBy(x => x).ToArray());
------解决方案--------------------
要注意是整数比较,不能是字符串比较,否则如果有100的话,排序的结果有误,所以我觉得应该这么写:
		string[] lines = File.ReadAllLines(@"c:\test.txt").OrderBy(x => int.Parse(x)).ToArray();
File.WriteAllLines(@"c:\test.txt", lines);