linq学习笔记(一)

本例演示了如何从一个int数组中找出偶数,并将结果从大小到排序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LinqDemo
{

    class Program
    {
        static int[] numbers = { 1, 3, 4, 5, 6, 7, 8, 9, 10, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11 };

        static void Main(string[] args)
        {
            Traditonal();
            Console.WriteLine("----------------------");
            LinqMethod();
            Console.ReadLine();

           

        }


        /**//// <summary>
        /// 传统写法
        /// </summary>
        static void Traditonal() 
        {
            
            List<int> SelectedNumbers = new List<int>();
            foreach (int i in numbers)
            {
                if (i % 2==0)
                {
                    SelectedNumbers.Add(i);                    

                }               
            }           
            
            SelectedNumbers.Sort(SortDesc); //.net1.0写法           
            for (int i = 0; i < SelectedNumbers.Count; i++)
            {
                Console.WriteLine(SelectedNumbers[i]);
            }
            
        }


        /**//// <summary>
        /// 逆顺排序(配合传统写法)
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        /// <returns>1(x大于y),0(x等于y),-1(x小于y)</returns>
        static int SortDesc(int x,int y) 
        {
            //if (x < y) 
            //{
            //    return 1;
            //}
            //else if (x == y)
            //{
            //    return 0;
            //}
            //else 
            //{
            //    return -1;
            //}//也可以简写为下面的一行
            return y - x;

        }

        /**//// <summary>
        /// Linq的写法
        /// </summary>
        static void LinqMethod() 
        {
            
            var SelectedNumbers = from number in numbers where (number % 2 == 0) orderby number descending select number;
            foreach (var i in SelectedNumbers)
            {
                Console.WriteLine(i);
            }           

        }


       
    }
}

可以看出用Linq写法,代码更简洁

时间: 2024-09-16 08:01:19

linq学习笔记(一)的相关文章

Linq学习笔记

写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些兴趣,所以打算整理点东西出来跟大家一起做个分享. 什么是Linq LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知.静态类型等强类型语言的好处.并

一起谈.NET技术,Linq学习笔记

写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些兴趣,所以打算整理点东西出来跟大家一起做个分享. 什么是Linq LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知.静态类型等强类型语言的好处.并

linq学习笔记(二)

试用了几天linq,感觉确实方便,而且生成的sql也还不错,下面是几点体会 1.几种常见的等效select写法 var s = from c in ctx.T_Users select new { c.F_Name, c.F_Sex, c.F_Birthday, c.F_ID } 这种写法对于初学者来说,最容易理解   var s = ctx.T_Users.Select(p => new { p.F_Name, p.F_Sex, p.F_Birthday, p.F_ID }) 这种写法利用T_

Linq学习笔记(三)

下面的代码演示了如何利用Linq结合AspNetPager控件实现分页功能,以及如果利用Linq to Xml将当前页数据保存为Xml  using (NorthWindDataContext db = new NorthWindDataContext())            {                               int Page = Utils.GetPageIndex();//取得当前页码                var s = from c in db.

Linq“.NET技术”学习笔记

写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些兴趣,所以打算整理点东西出来跟大家一起做个分享. 什么是Linq LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知.静态类型等强类型语言的好处.并

VSTO学习笔记(五)批量编辑Excel 2010 x64

原文:VSTO学习笔记(五)批量编辑Excel 2010 x64 近期因为工作的需要,经常要批量处理大量的Excel文件,如果纯手工一个个修改,非常的麻烦,于是写了这么一个帮助类,希望能对你有所帮助.里面很多方法可以进一步推广,增减适当的参数,部分方法用到了C# 4.0新特性,如果需要调试,请安装Visual Studio 2010. 示例代码下载 本系列所有示例代码均在 Visual Studio 2010 Ultimate RC + Office 2010 Professional Plus

VSTO学习笔记(七)基于WPF的Excel分析、转换小程序

原文:VSTO学习笔记(七)基于WPF的Excel分析.转换小程序 近期因为工作的需要,要批量处理Excel文件,于是写了一个小程序,来提升工作效率. 小程序的功能是对Excel进行一些分析.验证,然后进行转换.   概述 小程序主界面如下: 首先选择一个日期和类别,从命名上对待分析的Excel文件进行过滤.点击[浏览]选择待分析的Excel文件所在的目录, 程序中会获取所有子目录.然后点击[执行分析]就会按照左边CheckBox中的选择进行分析,分析结果显示在每一行中间.[修改配置]可以对分析

Ajax学习笔记---3种Ajax的实现方法【推荐】_AJAX相关

Ajax:  Asynchronous JavaScript and Xml , 异步js脚本和xml , 常用来实现页面局部的异步刷新, 对提高用户体验有很大帮助. Xml在多语言时较有优势, 但Ajax技术实际上较多采用Json对象而不是Xml来处理数据. (一) Ajax历史....了解性知识 Ajax归属于Web前端开发技术, 与javascript有着异常紧密的联系. Ajax就是一种实现异步通信无刷新的技术, 而这种技术可以有很多种实现方式. 浏览器的鼻祖网景(NetScape)公司

Ajax学习笔记---3种Ajax的实现方法【推荐】

Ajax:  Asynchronous JavaScript and Xml , 异步js脚本和xml , 常用来实现页面局部的异步刷新, 对提高用户体验有很大帮助. Xml在多语言时较有优势, 但Ajax技术实际上较多采用Json对象而不是Xml来处理数据. (一) Ajax历史....了解性知识 Ajax归属于Web前端开发技术, 与javascript有着异常紧密的联系. Ajax就是一种实现异步通信无刷新的技术, 而这种技术可以有很多种实现方式. 浏览器的鼻祖网景(NetScape)公司