gpt4 book ai didi

c# - TotalHours 函数错误处理

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

一周中的每一天我都有两个文本框,允许用户以这种格式 (hh:mm)(24 小时制)输入开始时间和结束时间。例如,如果用户在星期一的第一个文本框中输入 1:35,在星期一的第二个文本框中输入 3:30,然后按“计算”按钮,它将返回小数 1.92。它运行并将结果返回给标签,但我在错误处理方面遇到了一些问题。

如果文本框留空,它会在运行时抛出错误并显示“String was not recognized as a valid TimeSpan.”我该如何解决这个问题,以便如果用户没有输入时间,它要么假定为“0”,要么不使用该组特定的空文本框运行代码?

//Monday
TimeSpan Mon1In = TimeSpan.Parse(TextBoxInMon1.Text);
TimeSpan Mon1Out = TimeSpan.Parse(TextBoxOutMon1.Text);
MonLabel1.Text = (Mon1Out - Mon1In).TotalHours.ToString("f2");

//Tuesday
TimeSpan Tues1In = TimeSpan.Parse(TextBoxInTues1.Text);
TimeSpan Tues1Out = TimeSpan.Parse(TextBoxOutTues1.Text);
TuesLabel1.Text = (Tues1Out - Tues1In).TotalHours.ToString("f2");

//Wednesday
TimeSpan Wed1In = TimeSpan.Parse(TextBoxInWed1.Text);
TimeSpan Wed1Out = TimeSpan.Parse(TextBoxOutWed1.Text);
WedLabel1.Text = (Wed1Out - Wed1In).TotalHours.ToString("f2");

一直到星期五。

最佳答案

你应该使用 TimeSpan.TryParseMSDN其中 out 参数是您想要的值,如果 tryparse 失败,您将 TimeSpan 设置为 00:00:00。

//Monday
TimeSpan Mon1In,Mon1Out;
if(!TimeSpan.TryParse(TextBoxInMon1.Text,out Mon1In)) Mon1In = default(TimeSpan);
if(!TimeSpan.TryParse(TextBoxOutMon1.Text,out Mon1Out)) Mon1Out = default(TimeSpan);
MonLabel1.Text = (Mon1Out - Mon1In).TotalHours.ToString("f2");

关于c# - TotalHours 函数错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22001808/

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