用System.IO读取出来,split下就行了。linq select下,示例代码如下
using System;
using System.Windows.Forms;
using System.IO;
using System.Linq;
using System.Text;
using System.Collections.Generic;
namespace demo
{
public partial class Form1 : Form
{
string dataPath = @"c:\data.txt";//建议data.txt另外放一个盘下,c盘根目录可能会有权限问题无法读取
public Form1()
{
InitializeComponent();
}
List<SumItem>result = null;//存储总成绩
private void button1_Click(object sender, EventArgs e)
{
var text = File.ReadAllText(dataPath, Encoding.UTF8);//注意如果data.txt存储编码不是utf-8自己改下这里的Encodeing
textBox1.Text = text;
//数据处理
result = text.Split('\n').Select(i =>
{
var arr = i.Split(',');//看数据文件应该是中文状态下的逗号,如果不是注意改这里的分隔符
return new SumItem { Name = arr[0], Sum = arr.Skip(1).Select(v => int.Parse(v)).Sum() };
}).ToList();
textBox2.Text = string.Join("\r\n", result.Select(i => i.Name + " " + i.Sum));
}
private void button2_Click(object sender, EventArgs e)
{
//排序,降序
textBox2.Text = string.Join("\r\n", result.OrderByDescending(i=>i.Sum).Select(i => i.Name + " " + i.Sum));
}
}
class SumItem
{
public string Name { get; set; }
public int Sum { get; set; }
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!