1

我编写了一个程序,它可以处理删除和更新、存储和搜索等文件以及所有客户,但是当我更新文件时,我不断收到以下错误

字符串未被识别为有效的日期时间。

项目文件

项目视频

在反序列化方法中出现此错误:

        public Order Deserialize(string str)
    {
        Order order = new Order();
        var strOrder = str.Split(',');
        order.Id = int.Parse(strOrder[0]);

        **order.Date = DateTime.Parse(strOrder[1]);**
        order.Price = int.Parse(strOrder[2]);
        order.Description = strOrder[3];
        order.CustomerId = int.Parse(strOrder[4]);

        return order;
    }
4

2 回答 2

1

尝试Convert.ToDateTime

根据评论进行编辑。

导入System.Globalization并试试这个:

var cultureInfo = new CultureInfo("en-US");
DateTime dateTime = Convert.ToDateTime(strOrder[1], cultureInfo);
于 2013-11-06T21:23:57.830 回答
0

这很可能与文化设置有关。您需要使用 DateTime.ParseExact 方法的重载之一来指定预期的格式:

http://msdn.microsoft.com/en-us/library/332de853(v=vs.110).aspx

于 2013-11-06T21:18:13.397 回答