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 = { 1223415432542145 };
        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 { setget; }
        
public string Sex { setget; }
    }
}

 LinQ中使用到了var 关键字,它和JavaScript很像,您给他赋予什么类型它就是什么类型,但不能不赋值。
其它的我就不做详细说明了,相信大家也可以理解
posted @ 2008-03-26 16:40  海底的鱼  阅读(171)  评论(0)    收藏  举报