我正在尝试通过下面的代码来存储价值,但这给了我错误。
int dqty= Convert.ToInt32(from row in result.AsEnumerable()
where row.Field<string>("batch_num") == k_batch.ToString()
select row.Field<int>("qty"));
基本上我想检索“ qty”的值。
答案 0 :(得分:3)
无论您遇到其他问题,您都无法将列表/集合转换为整数
您需要使用FirstOrDefault
或类似的
Enumerable.FirstOrDefault Method (IEnumerable)
返回序列的第一个元素,如果返回则返回默认值 序列不包含任何元素。
示例
int dqty = (from row in result.AsEnumerable()
where row.Field<string>("batch_num") == k_batch.ToString()
select row.Field<int>("qty")).FirstOrDefault();
更新
更多精彩
var list = new List<int>() {23, 345, 546, 345};
var result = (
from row in list
where row > 23
select row).FirstOrDefault();
Console.WriteLine(result);
输出
345