gpt4 book ai didi

c# - 无法将时间类型 System.TimeSpan 隐式转换为 'long'

转载 作者:行者123 更新时间:2023-11-30 13:36:01 25 4
gpt4 key购买 nike

所以我有以下查询:

var a = from x in list
group x by new { x.fname, x.lname } into g
select new RolesUsersViewModel(g.Key.fname,
g.Key.lname,
g.Sum(x => x.FocusEnd - x.FocusStart)
);

我得到了错误,在这部分的这个问题的标题上:x => x.FocusEnd - x.FocusStart

FocusEnd 和 FocusStart 是 DateTime 类型。有人可以帮忙吗?我是 c# 的新手,不确定如何以适当的方式处理这个问题。

这是 ViewModel 的代码。

public class RolesUsersViewModel
{
public RolesUsersViewModel(string FirstName, string LastName, TimeSpan totalex)
{
fname = FirstName;
lname = LastName;
total = totalex;
}
public string fname { get; set; }
public string lname { get; set; }
public TimeSpan total { get; set; }

}

最佳答案

两个 DateTime 相减的结果是 TimeSpan。不幸的是,您不能 Sum 时间跨度。您可以将它们的 TotalMilliseconds 相加并创建一个新的 TimeSpanTimeSpan.FromMilliseconds:

....
select new RolesUsersViewModel(
g.Key.fname,
g.Key.lname,
TimeSpan.FromMilliSeconds(g.Sum(x => (x.FocusEnd - x.FocusStart).TotalMilliseconds)));

关于c# - 无法将时间类型 System.TimeSpan 隐式转换为 'long',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42108786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com