我有一个'HighScores.txt'文件,其中包含
等数据0
12
76
90
54
我想将此文本文件添加到整数数组中,因为我想对此进行排序,我只是在遍历每个项目并将其从字符串转换为int时遇到问题。
string path = "score.txt";
int[] HighScores;
if (!File.Exists(path))
{
TextWriter tw = new StreamWriter(path);
tw.Close();
}
else if (File.Exists(path))
{
//READ FROM TEXT FILE
}
答案 0 :(得分:6)
您可以使用LINQ:
int[] highScores = File
.ReadAllText("score.txt")
.Split(' ')
.Select(int.Parse)
.ToArray();
答案 1 :(得分:2)
您可以使用File.ReadLines
+ Linq:
int[] orderedNumbers = File.ReadLines(path)
.Select(line => line.Trim().TryGetInt())
.Where(nullableInteger => nullableInteger.HasValue)
.Select(nullableInteger => nullableInteger.Value)
.OrderByDescending(integer => integer)
.ToArray();
这是我用来检测字符串是否可以解析为int
的扩展方法:
public static int? TryGetInt(this string item)
{
int i;
bool success = int.TryParse(item, out i);
return success ? (int?)i : (int?)null;
}