将字符串转换为日期时间格式问题C#

将字符串转换为日期时间格式问题C#,c#,string,csv,datetime,string-conversion,C#,String,Csv,Datetime,String Conversion,我有下面的代码,我得到一条错误消息,输入字符串的格式不正确。请帮帮我 List<Crime> crimeList = new List<Crime>(); while (!reader.EndOfStream) { var line = reader.ReadLine(); var values = line.Split(','); crimeList.Add(new Crime() { Dates = DateTime.P

我有下面的代码,我得到一条错误消息,输入字符串的格式不正确。请帮帮我

List<Crime> crimeList = new List<Crime>();
while (!reader.EndOfStream)
{
    var line = reader.ReadLine();
    var values = line.Split(',');
    crimeList.Add(new Crime()
    {
        Dates = DateTime.ParseExact(values[0],"yyyy-MM-dd HH:mm:ss",CultureInfo.InvariantCulture),
        Category = values[1],
        Description = values[2],
        DayOfWeek = values[3],
        PdDistrict = values[4],
        Resolution = values[5],
        Address = values[6],
        x = Convert.ToDouble(values[7]),
        y = Convert.ToDouble(values[8])
});
List crimeList=new List();
而(!reader.EndOfStream)
{
var line=reader.ReadLine();
var值=行分割(',');
罪犯名单。新增(新罪行)
{
Dates=DateTime.ParseExact(值[0],“yyyy-MM-dd HH:MM:ss”,CultureInfo.InvariantCulture),
类别=值[1],
Description=值[2],
DayOfWeek=数值[3],
PdDistrict=值[4],
分辨率=数值[5],
地址=值[6],
x=Convert.ToDouble(值[7]),
y=Convert.ToDouble(值[8])
});
值[0]
2015-05-13 23:53:00

这一行的异常是
x=Convert.ToDouble(值[7])
,因为我在您的图像中看到,
值[7]
是一个地址为-?
的字符串。

如果您将字符串值作为文本包含在问题中,会更容易帮助您。我猜它包含一个不可打印的字符…您能在一个巨大的csv文件(800k行)中重现吗我认为第7列只包含1个单词,但显然有些条目带有逗号:(是的,确实如此。您可以检查数组的
长度
,以确保获得正确的数据。我认为您的日期时间转换是正确的,因此它一定是其他原因。我的建议是尝试注释每一行,直到您发现哪一行导致错误为止