【发布时间】:2020-05-27 12:17:13
【问题描述】:
StreamReader ReadFile;
ReadFile = File.OpenText("..\\..\\WeatherForecasts.txt");
string line = ReadFile.ReadLine();
if (String.IsNullOrEmpty(line) == false)
{
txtCity.Text = Regex.Replace(ReadFile.ReadLine(), "City: ", String.Empty);
dateTimePicker1.Value = DateTime.Parse(Regex.Replace(ReadFile.ReadLine(), "Date: ", String.Empty));
MinT.Value = decimal.Parse(Regex.Replace(ReadFile.ReadLine(), "Minimum temperature: ", String.Empty));
MaxT.Value = decimal.Parse(Regex.Replace(ReadFile.ReadLine(), "Maximum temperature: ", String.Empty));
Prec.Value = decimal.Parse(Regex.Replace(ReadFile.ReadLine(), "Precipitation: ", String.Empty));
Humidity.Value = decimal.Parse(Regex.Replace(ReadFile.ReadLine(), "Humidity: ", String.Empty));
WindSpeed.Value = decimal.Parse(Regex.Replace(ReadFile.ReadLine(), "Wind Speed: ", String.Empty));
}
ReadFile.Close();
实际上这是可行的,但如果有任何数据存储在 WeatherForecasts.txt 中
我收到此错误消息:
System.FormatException: 'The string was not recognized as a valid DateTime. There is an unknown word starting at index 0.'
所以我变了
Regex.Replace(ReadFile.ReadLine(), "City: ", String.Empty);
Regex.Replace(ReadFile.ReadLine(), "Date: ", String.Empty);
Regex.Replace(ReadFile.ReadLine(), "Minimum temperature: ", String.Empty);
Regex.Replace(ReadFile.ReadLine(), "Maximum temperature: ", String.Empty);
Regex.Replace(ReadFile.ReadLine(), "Precipitation: ", String.Empty);
Regex.Replace(ReadFile.ReadLine(), "Humidity: ", String.Empty);
Regex.Replace(ReadFile.ReadLine(), "Wind Speed: ", String.Empty);
我得到一个不同的错误
System.ArgumentNullException: 'Value cannot be null.
Parameter name: input'
如果我不存储数据,它会完美运行。
这就是现在 WeatherForecasts.txt 中存储的数据
City: dddd
Date: 5/27/2020 12:00:00 AM
Minimum temperature: 1
Maximum temperature: 1
Precipitation: -1
Humidity: -2
Wind Speed: 1
对不起,我不知道你需要什么,所以如果你需要任何其他信息,请告诉我。
【问题讨论】:
标签: c# winforms datetime datetime-parsing