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 的供应商信息。
16.复制字符串
String类包含了复制字符串方法Copy和CopyTo,可以完成对一个字符串及其一部分的复制操作。
若想把一个字符串复制到另一个字符串中,可以使用String的静态方法Copy来实现,其形式为:
? static string Copy(string str);
其中,参数str为需要复制的源字符串,方法返回目标字符串。下例中,把TextBoxA种的字符串复制到newStr中。
代码4-19 使用Copy复制字符串:Default.aspx.cs
1. //Copy
2. newStr="";
3. newStr=String.Copy(strA); //"Hello"
CopyTo方法可以实现Copy同样的功能,但功能更为丰富,可以复制源字符串中的一部分到一个字符数组中。另外,CopyTo不是静态方法,其形式为:
? public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count);
其中,参数sourceIndex为需要复制的字符起始位置,destination为目标字符数组,destinationIndex制定目标数组中的开始存放位置,而count指定所要复制的字符个数。下例中,把strA字符串“Hello”中的“ell”复制到newCharArr中,并在newCharArr中从第2个元素开始存放。
代码4-20 使用CopyTo复制字符串:Default.aspx.cs
1. //CopyTo
2. char[] newCharArr=new char[100];
3. strA.CopyTo(2,newCharArr,0,3); //"Hel"