c#中文件以及数据结构,文件的读写,winform窗体的交互

img


总成绩的计算,数据如何从文件中读取以及如何显示在text box2中

用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; }
    }

}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632