有没有一种方法可以将拆分的部分分配到结构中?
我有显示时间的字符串:
10:25, 10:55
11:05, 11:50
12:20, 13:10
我正在从文本文件中迭代这些行,并希望分配给ParkTime结构
public struct ParkTime
{
public string startTime { get; set; }
public string endTime { get; set; }
}
我尝试使用LINQ,但首先,我需要使用正则表达式来验证行。
我建议在您的结构中使用DateTime(或者最好是一个类,但这在这里并不重要)。这样,输入的验证将更多地集中在期望值上,您可以避免使用正则表达式
List<ParkTime> parktimes = new List<ParkTime>();
foreach (string line in File.ReadLines("file.txt"))
{
bool isValid = true;
string[] times = line.Split(',');
DateTime dtInit;
if(!DateTime.TryParseExact(times[0].Trim(), "HH:mm",
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.NoCurrentDateDefault,
out dtInit))
isValid = false;
DateTime dtEnd;
if (!DateTime.TryParseExact(times[1].Trim(), "HH:mm",
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.NoCurrentDateDefault,
out dtEnd))
isValid = false;
if (isValid)
parktimes.Add(new ParkTime() { startTime = dtInit, endTime = dtEnd });
}
public struct ParkTime
{
public DateTime startTime { get; set; }
public DateTime endTime { get; set; }
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句