gpt4 book ai didi

C# 将多个文本框的时间加在一起

转载 作者:行者123 更新时间:2023-11-30 21:56:40 24 4
gpt4 key购买 nike

我正在尝试将单圈时间加在一起,但我首先必须检查文本框中是否有值,然后再继续。我该怎么做呢?单圈时间是这样记录的:01:29:30

这是我的代码:

try
{
TimeSpan Diff1 = TimeSpan.Parse(lap1TimeTextBox.Text);
TimeSpan Diff2 = TimeSpan.Parse(lap2TimeTextBox.Text);
TimeSpan Diff3 = TimeSpan.Parse(lap3TimeTextBox.Text);
TimeSpan Diff4 = TimeSpan.Parse(lap4imeTextBox.Text);
TimeSpan Diff5 = TimeSpan.Parse(lap5TimeTextBox.Text);
TimeSpan Diff6 = TimeSpan.Parse(lap6TimeTextBox.Text);
TimeSpan Diff7 = TimeSpan.Parse(lap7TimeTextBox.Text);
TimeSpan Diff8 = TimeSpan.Parse(lap8TimeTextBox.Text);
TimeSpan Diff9 = TimeSpan.Parse(lap9TimeTextBox.Text);
TimeSpan Diff10 = TimeSpan.Parse(lap10TimeTextBox.Text);
TimeSpan Total = Diff1 + Diff2 + Diff3 + Diff4 + Diff5 + Diff6 + diff7 + Diff8 + Diff9 + Diff10;
fullTimeTextBox.Text = Total.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

最佳答案

我会将所有列表框放在一个数组中,并遍历它们,以尽量减少代码的重复:

   TextBox[] boxes = { lap1TimeTextBox, lap2TimeTextBox, lap3TimeTextBox }; // etc
// Get boxes with a value
var filledBoxes = boxes.Where(b => !string.IsNullOrWhiteSpace(b.Text));

// Extract timings
var times = filledBoxes.Select(b => TimeSpan.Parse(b.Text));

// Calculate the sum, use ticks, because Sum might not work on TimeSpan directly
var sum = new TimeSpan(times.Sum(time => time.Ticks));

您可以在一行中执行此操作,但这会降低代码的可读性。

关于C# 将多个文本框的时间加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31335730/

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