gpt4 book ai didi

c# - LINQ DataRowExtensions.Field 必须是

转载 作者:行者123 更新时间:2023-11-30 23:19:41 25 4
gpt4 key购买 nike

我在某些使用 LINQ 查询访问简单数据集表中的某些数据的 C# 代码中有奇怪的行为:

var rowConfig = from row in dsConfig.Tables[0].AsEnumerable()
where row.Field<string>("SERVICE").ToUpper().Contains(trackedServType)
select row;

seqMin = Convert.ToInt32(rowConfig.FirstOrDefault().Field<decimal>("ROYAL_MAIL_SEQ_MIN"));

如果我写 FirstOrDefault().Field<int>我在运行时收到 InvalidCastException,

出于某种原因,它必须是 decimal .

“服务”是一个 numeric输入一个 T SQL 数据库

最佳答案

sql server 中的Numeric 数据类型转换为.net 中的decimal。您可以看到完整的转换列表here .

您收到该错误是因为在 C# 中十进制和​​任何其他数字类型之间不存在隐式转换。可以看到implicit conversions here的列表,以及 explicit conversions here 的列表.

关于c# - LINQ DataRowExtensions.Field<int> 必须是 <decimal>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40155460/

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