LinQ学习之旅(1)
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//MyMath<string, int> strInt = new MyMath<string, int>();
//strInt.Push("I'am a string", 8);
//string[] strArr = {"aaaaaaa","bbbbbb","ccccccc"};
//Response.Write(Finder.Find<string>(strArr, "bbbbbb"));
//Response.Write("<br>");
string[] names = { "Burke", "Connnor", "Framk", "Everett", "Albert", "George", "Harris", "David" };
//下面这行不知道为什么不正确,但是看到的教程上确实是这么些的,后来我稍微改了下,就正常了 。
//IEnumerable<string> query = from s in names where s.Length == 5 orderby s select s.ToUpper();
//这行代码的意思是选出数组中长度为5的元素,并且全部转化到大写
var query = from s in names where s.Length == 5 orderby s select s.ToUpper();
foreach (string q in query)
{
Response.Write(q);
}
o();
var query_1 = from name in names where name.Length == 5 orderby name descending select name.ToUpper();
foreach (string q in query_1)
{
Response.Write(q);
o();
}
o();
var query_2 = names.Where(name => name.Length == 5);
foreach (string q in query_2)
{
Response.Write(q);
o();
}
int[] numbers = { 12, 234, 15, 43254, 2, 1, 4, 5 };
var numbers_1 = numbers.Where(i => i % 2 == 0).Select(i=>i);//输出用写法1一样
foreach (int i in numbers_1)
Response.Write(i);
//var obj1 = new { Name = "jimmy", Sex = "male" };
//var obj2 = new { Name = "hrr", Sex = "male" };
var obj1 = new man();
obj1.Name = "Jimmy";
obj1.Sex = "male";
var obj2 = new man();
obj2.Name = "Hrr";
obj2.Sex = "male";
o();
man[] _objs = { obj1, obj2 };
//注意这里的和上面的区别
var _q = _objs.Where(o1=>o1.Sex=="male").Select(o1=> new {FULLName = o1.Name + "," + o1.Sex});
foreach (var item in _q)
{
Response.Write(item.FULLName + "<br/>");
}
}
public void o()
{
Response.Write("<br>");
}
public class man{
public string Name { set; get; }
public string Sex { set; get; }
}
}
{
protected void Page_Load(object sender, EventArgs e)
{
//MyMath<string, int> strInt = new MyMath<string, int>();
//strInt.Push("I'am a string", 8);
//string[] strArr = {"aaaaaaa","bbbbbb","ccccccc"};
//Response.Write(Finder.Find<string>(strArr, "bbbbbb"));
//Response.Write("<br>");
string[] names = { "Burke", "Connnor", "Framk", "Everett", "Albert", "George", "Harris", "David" };
//下面这行不知道为什么不正确,但是看到的教程上确实是这么些的,后来我稍微改了下,就正常了 。
//IEnumerable<string> query = from s in names where s.Length == 5 orderby s select s.ToUpper();
//这行代码的意思是选出数组中长度为5的元素,并且全部转化到大写
var query = from s in names where s.Length == 5 orderby s select s.ToUpper();
foreach (string q in query)
{
Response.Write(q);
}
o();
var query_1 = from name in names where name.Length == 5 orderby name descending select name.ToUpper();
foreach (string q in query_1)
{
Response.Write(q);
o();
}
o();
var query_2 = names.Where(name => name.Length == 5);
foreach (string q in query_2)
{
Response.Write(q);
o();
}
int[] numbers = { 12, 234, 15, 43254, 2, 1, 4, 5 };
var numbers_1 = numbers.Where(i => i % 2 == 0).Select(i=>i);//输出用写法1一样
foreach (int i in numbers_1)
Response.Write(i);
//var obj1 = new { Name = "jimmy", Sex = "male" };
//var obj2 = new { Name = "hrr", Sex = "male" };
var obj1 = new man();
obj1.Name = "Jimmy";
obj1.Sex = "male";
var obj2 = new man();
obj2.Name = "Hrr";
obj2.Sex = "male";
o();
man[] _objs = { obj1, obj2 };
//注意这里的和上面的区别
var _q = _objs.Where(o1=>o1.Sex=="male").Select(o1=> new {FULLName = o1.Name + "," + o1.Sex});
foreach (var item in _q)
{
Response.Write(item.FULLName + "<br/>");
}
}
public void o()
{
Response.Write("<br>");
}
public class man{
public string Name { set; get; }
public string Sex { set; get; }
}
}
LinQ中使用到了var 关键字,它和JavaScript很像,您给他赋予什么类型它就是什么类型,但不能不赋值。
其它的我就不做详细说明了,相信大家也可以理解

浙公网安备 33010602011771号