gpt4 book ai didi

c# - 如何改进此 LINQ 查询以进行搜索

转载 作者:太空狗 更新时间:2023-10-30 01:27:11 26 4
gpt4 key购买 nike

我可以改进这个 LINQ 查询吗

var filter = from Dep in deptlist
where (Dep.DepNm.StartsWith(txt1.Text.ToLower())
|| Dep.DepNm.StartsWith(txt1.Text.ToUpper())
||Dep.DepNm.Contains(txt1.Text))
select Dep;

最佳答案

目前,您执行 .Text.Text.ToUpper().Text.ToLower() 每件商品的固定值(value); (ToUpper() 等相对昂贵);你可以把它拿出来:

string text = txt1.Text, upper = text.ToUpper(), lower = text.ToLower();
var filter = from Dep in deptlist
where Dep.DepNm.StartsWith(lower) || Dep.DepNm.StartsWith(upper)
|| Dep.DepNm.Contains(text))
select Dep;

我在这里假设 .DepNm 非常便宜。如果这实际上是一个昂贵的查询属性,您可以使用 let 来最小化调用:

var filter = from Dep in deptlist
let name = Dep.DepNm
where name.StartsWith(lower) || name.StartsWith(upper)
|| name.Contains(text))
select Dep;

关于c# - 如何改进此 LINQ 查询以进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3369357/

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