c# - 使用 DataRowExtension 解析 TimeSpan

标签 c# casting timespan

我想使用 DataRowExtension 将 DataRow 的字段值作为 TimeSpan(格式如 mm:ss),但它给了我 System.InvalidCastException,如下所示

var time = staffItems.Rows[0].Field<TimeSpan>("TIME_DURATION"); // System.InvalidCastException

但是当将此值作为字符串并在解析为 TimeSpan 后不会出现问题。

var time = staffItems.Rows[0].Field<string>("TIME_DURATION"); // time : 0:43
var time2 = TimeSpan.Parse(time); // time2 : 00:43:00

问题是,我如何在不进行任何额外解析或强制转换的情况下使用 DataRowExtension 完成此操作。

最佳答案

可能 TIME_DURATION 字段来自 DataTable 中的 vharchar 或其他内容。它必须等同于 TimeSpan。

关于c# - 使用 DataRowExtension 解析 TimeSpan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53745678/

相关文章:

Java - 使用变量值将类型分配给另一个变量?

c# - 给定开始和结束日期...在 C# 中查找范围内的所有日期

C# 项目看不到 Excel COM Reference

C#:使用 ListView.SelectedItems[0] 后选择不同项目的问题

java - 如何避免类似接口(interface)产生的转换错误

objective-c - 执行选择器转换

c# - 将时间值的字符串表示形式解析为 TimeSpan

c# - 在 xaml 中格式化 TimeSpan 值

c# - 更改带有选项卡的接受按钮

c# - 字体导致自定义控件中的 GDI 泄漏