对linq中的字母数字数据执行不等式比较
本文关键字:数据 执行 不等式 比较 数字 linq | 更新日期: 2023-09-27 18:27:38
需要linq查询帮助。我有一列包含字母数字数据,我想提取数字并进行数学比较。例如>,<等
所以数据应该是:JS20,MRR12,DEEN2等
我试着把它转换成Int,但失败了
var TheData = (from p in db.data.Where(l => Convert.ToInt16(l.TextAndNumber) <= 10)
group p by p.Names into g
select g.Key).ToList();
return Json(new { data = TheData });
试试这样的东西:
(from row in db.data
let digits = new String(row.TextAndNumber.Where(Char.IsDigit).ToArray())
let number = Int64.Parse(digits)
where number < 10
select row.Names
).Distinct();
在应用转换之前,需要从字符串中提取数字。
List<string> data = new List<string> { "JS20", "MRR112", "DEEN2" };
var TheData = data.Where(d => Convert.ToInt32(new string(d.Where(char.IsNumber).ToArray())) <= 10);
这将返回DEEN2。