Учитывая, что, скажем, 13.11.2008 - 12.11.2008 в качестве значения, отправленного обратно в TextBox, каков был бы лучший способ разобрать дату начала и дату окончания с помощью C#?
Я знаю, что могу использовать:
DateTime startDate = Convert.ToDateTime(TextBoxDateRange.Text.Substring(0, 10));
DateTime endDate = Convert.ToDateTime(TextBoxDateRange.Text.Substring(13, 10));
Есть ли способ лучше?





var dates = TextBoxDateRange.Text.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
var startDate = DateTime.Parse(dates[0], CultureInfo.CurrentCulture);
var endDate = DateTime.Parse(dates[1], CultureInfo.CurrentCulture);
Вместо Convert.ToDateTime, возможно, стоит использовать DateTime.Parse и явно указать желаемую культуру. Если я попробую этот пример с любой европейской культурой, я получу ошибку, потому что 11/13/2008 указывает на 11-й день 13-го месяца 2008 года ...
CultureInfo ci = new CultureInfo("en-us");
var startDate = DateTime.Parse(components[0], ci);
Зачем вообще это нужно в текстовом поле? Просто любопытно.