我有一个文本,该文本的整数比另一个整数小,我想将它们放在List<int>
中。
然后我想对List<int>
进行排序并采用第一个元素。
我尝试了这段代码,但是出了点问题,并且没有显示最高的分数。
int k;
List<int> scores = new List<int>();
using (var sr = new StreamReader("score.txt"))
{
while (sr.Peek() >= 0)
k = int.Parse(sr.ReadLine());
scores.Add(k);
}
scores.Sort();
MessageBox.Show("highest score " + scores[0]);
答案 0 :(得分:3)
while
循环中缺少括号。int k;
List<int> scores = new List<int>();
using (var sr = new StreamReader("score.txt"))
{
while (sr.Peek() >= 0)
{
k = int.Parse(sr.ReadLine());
scores.Add(k);
}
}
scores.Sort();
MessageBox.Show("highest score " + scores[0]);
虽然单独缩进是如何在Python之类的语言中将某些内容移入和移出while循环,但是C#忽略空格,因此您键入的内容实际上应该缩进为:
while (sr.Peek() >= 0)
k = int.Parse(sr.ReadLine());
scores.Add(k);
例如,k = int.Parse(sr.ReadLine());
是循环的一部分,而scores.Add(k);
仅执行一次。