gpt4 book ai didi

c# - 计算两个计时器值之间的平均值

转载 作者:太空宇宙 更新时间:2023-11-03 17:34:27 25 4
gpt4 key购买 nike

我编写了一个执行此功能的函数,但对性能和实现不满意。我想看看是否有人可以帮助我有效地实现这一精巧的功能。

该函数应返回一个字符串,该字符串是两次传递的计时器值之间的平均时间。 2个计时器值都是格式为"MM:SS:HS"的字符串,例如,如果将值"02:02:20""04:04:40"传递给函数,则它应该输出这些值之间的平均时间,并以相同的格式将其作为字符串返回给"03.03.30"

我想用C#实现它,Java也很好。

期待您的解决方案。谢谢阅读!

最佳答案

使用TimeSpan.Parse解析两个值
将它们加在一起
取总和(TimeSpan.Ticks)的滴答数并将其除以2得到平均值(因为您不能直接将TimeSpan除以)
使用TimeSpan.FromTicks转换回TimeSpan
调用ToStringTimeSpan转换回字符串。


(我不确定为什么其他答案通常都建议减法,而通常是通过将值相加然后除以得到平均值)。

就我个人而言,我可能会将其分为两种方法,一种只进行平均,另一种进行文本转换:

public static TimeSpan Average(TimeSpan first, TimeSpan second)
{
return TimeSpan.FromTicks((first + second).Ticks / 2);
}

public static string Average(string first, string second)
{
TimeSpan firstSpan = TimeSpan.Parse(first);
TimeSpan secondSpan = TimeSpan.Parse(second);
return Average(firstSpan, secondSpan).ToString();
}


您可能需要花一点时间才能获得所需的确切文本格式-.NET 4中的选项比以前更多,使用 ToString和格式字符串等。

关于c# - 计算两个计时器值之间的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6575057/

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