【发布时间】:2019-07-10 18:02:24
【问题描述】:
我是 C# 编码的新手,我正在学习 .NET FullStack,并且我有一个关于读取/写入文件的问题。我有一个 txt 文件,它由 3 行组成,每行格式如下: 名字,姓氏,出生日期,出生月份,出生年份,国旗,1 年级,[更多年级],国旗,从大学到学生部门的距离(公里)。
数据如下:
---------------------------------------------------------------
| Yossi,Ben David,21,6,1990,FF,80,70,75,80,FF,100 |
---------------------------------------------------------------
| Dany,Avigdor,18,4,1995,FF,70,65,50,FF,30 |
---------------------------------------------------------------
| Yael,ShemTov,4,9,1997,FF,85,75,90,80,85,FF,100 |
---------------------------------------------------------------
我需要将学生姓名和平均成绩打印到控制台,但出现异常,我不知道为什么。
感谢您的回答。
这是我的代码:
static void Main(string[] args)
{
try
{
string path = @"C:\Users\coral\Desktop\c#\.net course\StudentInfo.txt";
if (File.Exists(path))
{
using (StreamReader st = File.OpenText(path))
{
string k;
List<int> grade = new List<int>();
double avg;
while ((k = st.ReadLine()) != null)
{
string[] words = k.Split(',');
foreach (var word in words)
{
while (word.StartsWith("FF") && word.EndsWith("FF"))
//if (word.StartsWith("FF") && word.EndsWith("FF"))
{
grade.Add(int.Parse(word));
//intList= int.Parse(num[word]);
}
}
}
int[] terms = grade.ToArray();
avg = terms.Average();
Console.WriteLine(avg);
Console.ReadKey();
}
}
}
catch (Exception e)
{
Console.WriteLine("Error:" + e.ToString());
Console.ReadKey();
}
}
错误信息是:
Error:System.FormatException: System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) in System.Int32.Parse(String s) in FileExercise.Program.Main(String[] args) in C:\Users\coral\source\repos\FileExercise\FileExercise\Program.cs: 111 line
【问题讨论】:
-
能否请您发布一些示例数据以及错误消息和堆栈跟踪。
-
错误消息是:Error:System.FormatException: System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) System.Number.ParseInt32(String s, NumberStyles样式,NumberFormatInfo info) in System.Int32.Parse(String s) in FileExercise.Program.Main(String[] args) in C:\Users\coral\source\repos\FileExercise\FileExercise\Program.cs: 111 line
-
部分数据:Yossi,Ben David,21,6,1990,FF,80,70,75,80,FF,100 Dany,Avigdor,18,4,1995,FF,70,65 ,50,FF,30 Yael,ShemTov,4,9,1997,FF,85,75,90,80,85,FF,100