C#txt文档 数据读取和修改
匿名9999匿名9999匿名9999匿名9999名字和数字之间用空格隔开,现在要将这8个数据分别赋值到8个label控件中,进行比较后,返回txt文档,并替换原数据,做一...
匿名 9999
匿名 9999
匿名 9999
匿名 9999
名字和数字之间用空格隔开,现在要将这8个数据分别赋值到8个label控件中,进行比较后,返回txt文档,并替换原数据,做一个排行榜的功能.
求读取txt文档和赋值label控件的C# 代码。
一共有4个难度,每个难度只保留一个最大值,功能类似于扫雷的排行榜 展开
匿名 9999
匿名 9999
匿名 9999
名字和数字之间用空格隔开,现在要将这8个数据分别赋值到8个label控件中,进行比较后,返回txt文档,并替换原数据,做一个排行榜的功能.
求读取txt文档和赋值label控件的C# 代码。
一共有4个难度,每个难度只保留一个最大值,功能类似于扫雷的排行榜 展开
展开全部
楼主请看,
准备文件内容
Code,我的思路很简单,就是刚开始先加载数据到label,然后在排序,在输出结果。。
//定义一个全局的变量。。。存储读取的内容
Dictionary<string, int> dics = new Dictionary<string, int>();
private void button1_Click(object sender, EventArgs e)
{
using (FileStream fs = new FileStream("TextFile1.txt", FileMode.Open))
{
using (StreamReader sr = new StreamReader(fs))
{
int lblCount = 1;
while (!sr.EndOfStream)
{
string[] line = sr.ReadLine().Split(' ');
dics.Add(line[0], Convert.ToInt32(line[1]));
SetLabelByID("label" + lblCount, line[0]);
lblCount++;
SetLabelByID("label" + lblCount, line[1]);
lblCount++;
}
}
fs.Close();
}
}
private void button2_Click(object sender, EventArgs e)
{
//进行排序。。
var sortDics = from n in dics
orderby n.Value descending
select n;
int lblCount2 = 1;
foreach (var item in sortDics)
{
SetLabelByID("label" + lblCount2, item.Key);
lblCount2++;
SetLabelByID("label" + lblCount2, item.Value.ToString());
lblCount2++;
}
}
//通过找到ID,然后对label进行赋值。。
public void SetLabelByID(string strID, string val)
{
Label lbl = null;
foreach (Control c in this.Controls)
{
if (c.Name == strID)
{
lbl = (Label)c;
lbl.Text = val;
}
}
}结果
界面是这样子的:
点击“加载数据”
点击“开始排序”
你看,我没有骗你,可以看到现在按照数据从大到下排序了。。
不知道是不是楼下需要的结果。。有问题 可以在进行沟通。祝你好运!
这里需要注意的是,你的label的命名规则一定要有规则才行!~~因为只有这样才能进行动态的赋值。。当然还有一种方法,是通过反射进行赋值,也是OK的。
加油!!
追问
饿,不好意思,是我问题写的不够清楚。我这个游戏是有4个难度的,每个难度只记录一个最高分,跟扫雷的排行榜有点差不多,可以的话,能加个QQ谈么。
展开全部
List<string> listLines = new List<string>();
using(StreamReader reader = new StreamReader ("your text file's path"))
{
int i = 1;
string line = reader.ReadLine();
while(line!="" && line != nul)
{
if(i>=3)
{
listLines.Add(line);
}
line = reader.ReaderLine();
}
//循环完后,listLines 里面就放有第三行到第十行的数据了
}
for(int i = 0; i< listLines.Count ; i++)
{
//listLines[i] 你想怎么处理就怎么处理咯
}
追问
我一共就4行数据啊,哪来第三行到第十行,麻烦给一段完整的代码好么。最好能把label的赋值代码写下
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询