[Linq] Contains StartsWith EndsWith

昨天測試一下,直接查 List<String> contains 的語法,沒有問題。
今天試一下,直接對字串查詢,Bingo,是Like 的效果。

Ref:
Linq 中使用 Select Where In List 條件
在Linq中使用Like
C#3.0入门系列(十一)-之In, Like操作

var list = new List<string>() {"ASUS_PC","Acer_PC","BenQ", "Toshiba", "IBM", "HP", "Dell", "PChome"};

var s1 = list.Where(p => p.Contains("PC"));
var s2 = list.Where(p => p.StartsWith("PC"));
var s3 = list.Where(p => p.EndsWith("PC"));

s1.Dump();
s2.Dump();
s3.Dump();

Result:

如果你用SqlMethods.Like,因為只支援 Linq to SQL,自然跳出錯誤訊息。