gpt4 book ai didi

c# - 无法解决“字符串未被识别为有效的日期时间问题”c#

转载 作者:太空宇宙 更新时间:2023-11-03 23:17:51 24 4
gpt4 key购买 nike

我的程序运行良好,现在我已经开始接收

String was not recognized as a valid DateTime.

我似乎无法解决的错误。我已经到处寻找解决方案,但没有解决问题。任何建议将不胜感激。

public Form1()
{
InitializeComponent();

DirectoryInfo dir = new DirectoryInfo(@"../Debug/");
FileInfo[] files = dir.GetFiles("*.txt");

Dictionary<FileInfo, DateTime> filesWithDueDate = new Dictionary<FileInfo, DateTime>();

foreach (FileInfo file in files)
{
string dueDate = File.ReadAllText(file.FullName);

Regex regex = new Regex(@"\d{2}/\d{2}/\d{4}");
Match mat = regex.Match(dueDate);

// Error happens here //
DateTime duedate = Convert.ToDateTime(mat.ToString());

filesWithDueDate.Add(file, duedate);
}

var sortedFiles = filesWithDueDate.OrderBy(a => a.Value).Select(b => b.Key.Name).ToArray();

listBox1.Items.AddRange(sortedFiles);
}

最佳答案

你应该使用 TryParse 模式并在它失败时抛出一个好的异常

DateTime dateValue;
bool tryParseAttempt = DateTime.TryParse(mat.ToString(), out dateValue);
if(!tryParseAttempt)
{
throw new ArgumentException(string.Format("Cannot parse value to DateTime. '{0}'", mat.ToString());
}

参见 https://msdn.microsoft.com/en-us/library/ch92fbc1(v=vs.110).aspx

关于c# - 无法解决“字符串未被识别为有效的日期时间问题”c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36655327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com