Actuellement, vous faites un .Text
, .Text.ToUpper()
et .Text.ToLower()
de la valeur fixe par article; (le ToUpper()
etc étant relativement cher); vous pouvez soulever ceci:
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;
Je suppose ici que .DepNm
est trivialement pas cher. Si cela est en fait une propriété coûteuse à interroger, vous pouvez utiliser let
pour minimiser les appels:
var filter = from Dep in deptlist
let name = Dep.DepNm
where name.StartsWith(lower) || name.StartsWith(upper)
|| name.Contains(text))
select Dep;
De quel fournisseur LINQ s'agit-il? Cela compte. LINQ-to-Objects? LINQ-to-SQL? etc? –
Est-ce Linq-to-Sql? – cjk
Merci. C'est LINQToObjects et je fais observablecollection – joey