我在将字符串解析为正确的DateTime时遇到麻烦。我知道DateTime.ParseExact,但我不断提出异常。我在这里想念什么?
const string formatString = "yyyyMMdd HHmmss";
const string fileName = @"C:\path.csv";
IEnumerable<Foo> dtos = File.ReadAllLines(fileName)
.Skip(1)
.Select(line => new {line, columns = line.Split(';')})
.Select(t =>
{
try
{
return new Foo
{
Bar = DateTime.ParseExact(t.columns[0], formatString, CultureInfo.InvariantCulture, DateTimeStyles.None)
};
}
catch (FormatException)
{
Console.WriteLine("{0} is not in the correct format.", t.columns[0])
}
return null;
});
捕获消息为
20110102 170100格式不正确。
编辑:链接到助手要求的错误屏幕截图(因此,请勿让新帐户添加图像)。 enter image description here
答案 0 :(得分:0)
该代码有效。您必须读取其他数据:
const string formatString = "yyyyMMdd HHmmss";
static void Main(string[] args)
{
string input = "20110102 170100";
DateTime Bar = DateTime.ParseExact(input, formatString, CultureInfo.InvariantCulture, DateTimeStyles.None);
}