我有一个清单:
List<String> sqlListHrsUptime;
以“hh:mm”格式保存多个字符串。
我想以十进制格式转换为新列表。我发现:
TimeSpan.Parse("04:03").TotalHours;
作为个人价值观的一种手段。
我似乎无法为具有不同数量的字符串的列表创建一个有效的解决方案(它从用户输入参数的SQL表中提取数据)。如何在使用Parse()时将第一个列表直接复制到新列表.TotalHours方法?或者另一种可以完成同样事情的解决方案?
答案 0 :(得分:3)
如果您可以拥有完整的-bash-4.1$ make -f makefile64bit
/usr/bin/g++ -o /localdata/sunny/CDDmain/sw/build/lib/libmpsAlgo.so -m64
-DBIT64 AutomatedDelayAnalysis.o AutomatedAnalysis.o DelayAnalysis.o jniADMux.o TrayCanvas.o TrayHandler.o
-L/localdata/sunny/CDDmain/sw/build/lib - L/localdata/sunny/CDDmain/sw/3rdParty/csim/csim20_64bit/gpp/lib -lmps-Cplusplus
/localdata/sunny/CDDmain/sw/build/lib/libmps-Cplusplus.a: could not read symbols:
File in wrong format collect2: ld returned 1 exit status make: *** [/localdata/sunny/CDDmain/sw/build/lib/libmpsAlgo.so] Error 1
,为什么只需要列表中的TotalHours
?
TimeSpan
或更短List<TimeSpan> spans = sqlListHrsUptime.Select(s => TimeSpan.Parse(s)).ToList();
:
List.ConvertAll
如果你坚持List<TimeSpan> spans = sqlListHrsUptime.ConvertAll(TimeSpan.Parse);
:
decimal
答案 1 :(得分:0)
你可以这样做:
var output = new List<decimal>();
foreach (var item in sqlListHrsUptime)
{
output.Add(Convert.ToDecimal(TimeSpan.Parse(item).TotalHours));
}