想运行本程序,请先做好准备工作,请参考:Linq学习__00__准备工作
(1)在HomeController中新建Index5方法如代码1.1
代码1.1
#region Select(),SelectMany(),AsQueryable(),查找字符串中的小写字母,大写字母,分隔符,数字
/// <summary>
/// 访问地址 Home/Index5
/// Select(),SelectMany(),AsQueryable(),查找字符串中的小写字母,大写字母,分隔符,数字
/// </summary>
/// <returns></returns>
public ActionResult Index5()
{
List<Province> pro = new List<Province>(){
new Province{City=new List<string>(){"长春","吉林","松原"}},
new Province{City=new List<string>(){"哈尔滨","齐齐哈尔","玉泉"}},
new Province{City=new List<string>(){"沈阳","大连","铁岭"}},
};
//使用Select()
IEnumerable<List<string>> quaryCity1 = pro.Select(bq => bq.City);
ViewBag.quaryCity1 = quaryCity1;
//使用SelectMany()
IEnumerable<string> quaryCity2 = pro.SelectMany(bq => bq.City);
ViewBag.quaryCity2 = quaryCity2;
List<int> numbers = new List<int>() { 35, 44, 200, 84, 3987, 4, 199, 329, 446, 208 };
//按奇数,偶数分组
IEnumerable<IGrouping<int, int>> query = from number in numbers
group number by number % 2;
ViewBag.query = query;
//AsQueryable()
string[] Province = { "长春", "沈阳", "阿尔滨", "北京","上海", "广州"};
IQueryable<String> queryableData = Province.AsQueryable<string>();
ViewBag.queryableData = queryableData;
string aString = "a BcDE99F-J74-12-89A";
//查找字符串中的数字
IEnumerable<char> chrIsDigit = from ch in aString
where Char.IsDigit(ch)
select ch;
ViewBag.chrIsDigit = chrIsDigit;
//查找字符串中的小写字母
IEnumerable<char> chrIsLower = from ch in aString
where Char.IsLower(ch)
select ch;
ViewBag.chrIsLower = chrIsLower;
//查找字符串中的大写字母
IEnumerable<char> chrIsUpper = from ch in aString
where Char.IsUpper(ch)
select ch;
ViewBag.chrIsUpper = chrIsUpper;
//查找字符串中的分隔符(Unicode 标准可识别三种分隔符子类别:空格;行分隔符;段落分隔符)
IEnumerable<char> chrIsSeparator = from ch in aString
where Char.IsSeparator(ch)
select ch;
ViewBag.chrIsSeparator = chrIsSeparator;
return View();
}
#endregion Select(),SelectMany(),AsQueryable(),查找字符串中的小写字母,大写字母,分隔符,数字
2)添加视图Index5.cshtml,代码如代码1.2
代码1.2
@{
ViewBag.Title = "Index5";
}
@{
<div style="background-color: Yellow;">
使用Select()</div>
foreach (var m in ViewBag.quaryCity1)
{
foreach (var n in m)
{
<div>@n</div>
}
}
<div style="background-color: Yellow;">
使用SelectMany()</div>
foreach (var m in ViewBag.quaryCity2)
{
<div>@m</div>
}
<div style="background-color: Yellow;">
按奇数,偶数分组</div>
foreach (var m in ViewBag.query)
{
foreach (var n in m)
{
<div>@n</div>
}
}
<div style="background-color: Yellow;">
AsQueryable()</div>
foreach (var m in ViewBag.queryableData)
{
<div>@m</div>
}
<div style="background-color: Yellow;">
查找字符串中的数字</div>
foreach (var m in ViewBag.chrIsDigit)
{
<div>@m</div>
}
<div style="background-color: Yellow;">
查找字符串中的小写字母</div>
foreach (var m in ViewBag.chrIsLower)
{
<div>@m</div>
}
<div style="background-color: Yellow;">
查找字符串中的大写字母</div>
foreach (var m in ViewBag.chrIsUpper)
{
<div>@m</div>
}
<div style="background-color: Yellow;">
查找字符串中的分隔符(此时有空格)</div>
foreach (var m in ViewBag.chrIsSeparator)
{
<div>哈 @m 哈</div>
}
}