LINQ之String

来源:互联网 发布:淘宝没有3c认证怎么办 编辑:程序博客网 时间:2024/06/16 06:16

LINQ to SQL支持以下String方法。但是不同的是默认情况下System.String 方法区分大小写。而SQL则不区分大小写。

1.字符串串联(String Concatenation)

var q =    from c in db.Customers    select new    {        c.CustomerID,        Location = c.City + ", " + c.Country    };

语句描述:这个例子使用+运算符在形成经计算得出的客户Location值过程中将字符串字段和字符串串联在一起。

2.String.Length

var q =    from p in db.Products    where p.ProductName.Length < 10    select p;

语句描述:这个例子使用Length属性查找名称短于10个字符的所有产品。

3.String.Contains(substring)

var q =    from c in db.Customers    where c.ContactName.Contains("Anders")    select c;

语句描述:这个例子使用Contains方法查找所有其联系人姓名中包含“Anders”的客户。

4.String.IndexOf(substring)

var q =    from c in db.Customers    select new    {        c.ContactName,        SpacePos = c.ContactName.IndexOf(" ")    };

语句描述:这个例子使用IndexOf方法查找每个客户联系人姓名中出现第一个空格的位置。

5.String.StartsWith(prefix)

var q =    from c in db.Customers    where c.ContactName.StartsWith("Maria")    select c;

语句描述:这个例子使用StartsWith方法查找联系人姓名以“Maria”开头的客户。

6.String.EndsWith(suffix)

var q =    from c in db.Customers    where c.ContactName.EndsWith("Anders")    select c;

语句描述:这个例子使用EndsWith方法查找联系人姓名以“Anders”结尾的客户。

7.String.Substring(start)

var q =    from p in db.Products    select p.ProductName.Substring(3);

语句描述:这个例子使用Substring方法返回产品名称中从第四个字母开始的部分。

8.String.Substring(start, length)

var q =    from e in db.Employees    where e.HomePhone.Substring(6, 3) == "555"    select e;

语句描述:这个例子使用Substring方法查找家庭电话号码第七位到第九位是“555”的雇员。

9.String.ToUpper()

var q =    from e in db.Employees    select new    {        LastName = e.LastName.ToUpper(),        e.FirstName    };

语句描述:这个例子使用ToUpper方法返回姓氏已转换为大写的雇员姓名。

10.String.ToLower()

var q =    from c in db.Categories    select c.CategoryName.ToLower();

语句描述:这个例子使用ToLower方法返回已转换为小写的类别名称。

11.String.Trim()

var q =    from e in db.Employees    select e.HomePhone.Substring(0, 5).Trim();

语句描述:这个例子使用Trim方法返回雇员家庭电话号码的前五位,并移除前导和尾随空格。

12.String.Insert(pos, str)

var q =    from e in db.Employees    where e.HomePhone.Substring(4, 1) == ")"    select e.HomePhone.Insert(5, ":");

语句描述:这个例子使用Insert方法返回第五位为 ) 的雇员电话号码的序列,并在 ) 后面插入一个 :。

13.String.Remove(start)

var q =    from e in db.Employees    where e.HomePhone.Substring(4, 1) == ")"    select e.HomePhone.Remove(9);

语句描述:这个例子使用Remove方法返回第五位为 ) 的雇员电话号码的序列,并移除从第十个字符开始的所有字符。

14.String.Remove(start, length)

var q =    from e in db.Employees    where e.HomePhone.Substring(4, 1) == ")"    select e.HomePhone.Remove(0, 6);

语句描述:这个例子使用Remove方法返回第五位为 ) 的雇员电话号码的序列,并移除前六个字符。

15.String.Replace(find, replace)

var q =    from s in db.Suppliers    select new    {        s.CompanyName,        Country = s.Country        .Replace("UK", "United Kingdom")        .Replace("USA", "United States of America")    };

语句描述:这个例子使用 Replace 方法返回 Country 字段中UK 被替换为 United Kingdom 以及USA 被替换为 United States of America 的供应商信息。

原创粉丝点击