то как это будет выглядеть?
Ну с циклом — да просто внутри (в теле) конвертируйте, да и всё. В лямбде — ну самое простое селект, парс, туЛист, и всё. var strings = new List<string> { "2014-01-14" }; var dates = strings.Select(date => DateTime.Parse).ToList(); Если же надо TryParse, то будет чутка посложнее, вроде, так. var strings = new List<string> { "2014-01-14" }; var dates = strings.Select(s => { var parseSuccessful = DateTime.TryParse(s, out var datetime); return new { datetime, parseSuccessful }; }).Where(ourInnerObj => ourInnerObj.parseSuccessful) .Select(ourInnerObj => ourInnerObj.datetime).ToList();
Можно добавить и хэндлинг исключения, если парс не получился. var strings = new List<string> { "2014-01-14" }; var dates = strings.Select(s => { var parseSuccessful = DateTime.TryParse(s, out var datetime); if (!parseSuccessful) { throw new Exception("Cannot parse string " + s + "."); } return new { datetime, parseSuccessful }; }).Where(ourInnerObj => ourInnerObj.parseSuccessful) .Select(ourInnerObj => ourInnerObj.datetime).ToList();
Да не за что, что не сделаешь только, когда не спится. =D
В любом случае, протестируйте, я впопыхах и мог случайно где-то косякнуть, любой код лучше перепроверять. ;)
писать tryparse чтобы бросить эксепшен)0
Да способов вагон, я просто первое пришедшее на ум написал. Можно просто парс, можно хоть конверт, как удобно будет.
Обсуждают сегодня