C#将List <string>转换为List <TimeSpan>

the*_*per 0 c# timespan list

我已经看到了如何将a转换string为a的TimeSpan示例,这是一个例子:

如何将字符串"07:35"(HH:MM)转换为TimeSpan

但是,什么是最有效的转换方式List<string>List<TimeSpan>

我已经尝试过这些方法,但是没有用:

var result = new TimeSpan;

var appointmentStartTimesConverted = appointmentStartTimes
  .Select(i => result = TimeSpan.TryParse(i, out result))
  .ToList();
Run Code Online (Sandbox Code Playgroud)

Lew*_*rin 5

应该做的工作:

 var appointmentStartTimes = new List<string>{"7:45", "0:0","a"};

 var appointmentStartTimesConverted = appointmentStartTimes
   .Select(i =>
            {
                TimeSpan result;
                if(TimeSpan.TryParse(i, out result))
                    return new Nullable<TimeSpan>(result);          
                return null;        
            })
   .Where(x => x.HasValue)
   .ToList();
Run Code Online (Sandbox Code Playgroud)