从文本文件中读取整数

时间:2013-06-14 09:21:26

标签: c#

我有一个'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


    }

2 个答案:

答案 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;
}