C# 正在努力从txt文件中读取所选文本

C# 正在努力从txt文件中读取所选文本,c#,C#,我有一个名为reports.txt的文本文件,我可以在richtext上打开它,但是有没有办法让它打开,但只显示选定的文本 该文件包含 CPU分数:322 CPU常规:708473 目标CPU:341030088 RAM分数:135 内存大小(MB):4001 内存速度(MB/s):12144 GPU计算(GFLOPS):181 磁盘分数:49 磁盘写入(MB/s):117 磁盘读取(MB/s):322 例如,我希望它像文本框一样显示322、135、49,可能且简单: void Main()

我有一个名为
reports.txt
的文本文件,我可以在
richtext
上打开它,但是有没有办法让它打开,但只显示选定的文本

该文件包含

CPU分数:322
CPU常规:708473
目标CPU:341030088
RAM分数:135
内存大小(MB):4001
内存速度(MB/s):12144
GPU计算(GFLOPS):181
磁盘分数:49
磁盘写入(MB/s):117
磁盘读取(MB/s):322
例如,我希望它像
文本框一样显示
322、135、49

可能且简单:

void Main()
{
    var dict = File.ReadAllLines(@"c:\yourFolder\yourFile.txt")
    .Select(f => f.Split(':'))
    .Select(f => new {
        Name=f[0].Trim(),
        Value=f[1].Trim()
    })
    .ToDictionary(f => f.Name, f=>f.Value);

    Console.WriteLine($"{dict["CPU Score"]}, {dict["RAM Score"]}, {dict["Disk Score"]}" );
}
可能和简单:

void Main()
{
    var dict = File.ReadAllLines(@"c:\yourFolder\yourFile.txt")
    .Select(f => f.Split(':'))
    .Select(f => new {
        Name=f[0].Trim(),
        Value=f[1].Trim()
    })
    .ToDictionary(f => f.Name, f=>f.Value);

    Console.WriteLine($"{dict["CPU Score"]}, {dict["RAM Score"]}, {dict["Disk Score"]}" );
}
谢谢你,塞廷·巴索兹

这是密码,你可以帮我。我只需要把它加在一起,就可以得到总分:)

最后,我将让它运行一个程序,创建这些分数并更新文本文件,然后运行此命令。

谢谢你,Cetin Basoz

这是密码,你可以帮我。我只需要把它加在一起,就可以得到总分:)


最后,我将让它运行一个程序,创建这些分数并更新文本文件,然后运行此命令。

如果格式保证与他发布的格式相同,您甚至可以执行
Value=int.Parse(f[1].Trim())
,如果在显示之外需要数据,这可能会更有用。@parrishharn,对不起,我不明白你的意思。解析为int,然后返回到要在文本框中显示的字符串?如果不进行解析,则更直接。如果你愿意解析,我建议改为TryParse。在确切的例子中,如果你的答案是完美的,那么我就投赞成票。我补充说,如果他们需要int值来进行显示以外的其他操作,如果数据是安全的,可以通过解析来完成。@parrishharft,我明白了。老实说,这就是我最初写的东西,但很后悔想到了他的目的。一旦他有了价值观,他可以做任何他想做的事。谢谢。是的,如果看不到OP的更多内容,就不可能知道。我想这可能是一个用于比较或绘制PC分数的UI,他可能需要int。不管怎样,我认为你已经涵盖了问题的主要部分。如果格式保证与他发布的一样,你甚至可以做
Value=int.Parse(f[1].Trim())
,如果在显示之外需要数据,这可能会更有用。@parrishharft,对不起,我不明白你的意思。解析为int,然后返回到要在文本框中显示的字符串?如果不进行解析,则更直接。如果你愿意解析,我建议改为TryParse。在确切的例子中,如果你的答案是完美的,那么我就投赞成票。我补充说,如果他们需要int值来进行显示以外的其他操作,如果数据是安全的,可以通过解析来完成。@parrishharft,我明白了。老实说,这就是我最初写的东西,但很后悔想到了他的目的。一旦他有了价值观,他可以做任何他想做的事。谢谢。是的,如果看不到OP的更多内容,就不可能知道。我想这可能是一个用于比较或绘制PC分数的UI,他可能需要int。不管怎样,我认为你已经涵盖了问题的主要部分。我想这不是一个问题。如果是这样的话,那么您将执行int.Parse(dict[“CPU分数”])+int.Parse(dict[“RAM分数”])+int.Parse(dict[“磁盘分数”]),我认为这不是一个问题。如果是,那么您将执行int.Parse(dict[“CPU分数”])+int.Parse(dict[“RAM分数”])+int.Parse(dict[“磁盘分数”])