LINQ基础_简单示例
来源:互联网 发布:软件介绍网站 编辑:程序博客网 时间:2024/05/18 01:17
原文地址:http://www.dingos.cn/index.php?topic=1976.0
在每种语言中对数据或集合操作是非常重要和麻烦的。为了对数据或集合操作更简化和有力,LINQ被结合到.NET Framework 3.5中。可以调用更有力的工具LINQ来操作数据。 在开始讨论LINQ之前,先获取一些LINQ的基础知识。 当LINQ用于处理关系型数据库被称为Dlinq,也成为LINQ to SQL。当LINQ用于处理xml是给称为XLinq,也称为LINQ to XML。 示例: 首先考虑一个简单的例子,仅仅针对string数组工作,一步一步的深入对集合和数据的工作。 在第一个例子中,使用LINQ在string数组中查找长度大于6的名字。 using System; using System.Collections; using System.Linq; class Test{ static void Main(string[] args){ // 声明字符串数组 string[] names = {"arun", "ram", "karthi" , "arulkumar","balaji","dineshKumar"}; // 从linq中存储结果 IEnumerable nameCollecetion = from n in names where n.Length > 6 select n; // 打印结果 foreach (string name in nameCollecetion) Console.WriteLine(name); Console.ReadKey(); } } 在上面的例子中,from n in names有点类似于类似于foreach循环,考虑上面代码使用foreach如下实现: foreach(string n in names){ if(n.length>6) nameCollection.add(n); } 我想现在对上面linq的例子有点想法。 也可以在linq中做一些聚合操作,一个简单的数学计算。 示例:使用linq查找最大数和最小数。 static void Main(string[] args){ int[] numbers = { 8, 4, 5, 6, 9, 7, 77, 55, 66, 99, 22, 55, 45 }; // 找最小值 int minno = numbers.Min(); // 找最大值 int maxno = numbers.Max(); Console.WriteLine(minno); Console.WriteLine(); Console.WriteLine(maxno); Console.ReadKey(); } var 首先看到在LINQ中使用var关键字。当C#编译器遇到了var会检测变量右边的数据类型,然后将左边的变量转换为这个类型。 // 转换intvar为整型 var intvar=10; // 转换stringvar为string类型 var stringvar="string"; // 转换charvar为字符类型 var charvar='a'; 现在看一个和上面使用linq相同的例子。例如查找names中长度大于6的名字。 string[] names = { "arun", "ram", "karthi", "arulkumar", "balaji", "dineshKumar" }; // longnames转换为字符串数组用于存储LINQ查询返回的结果 var longnames = from n in names where n.Length > 6 select n; // 打印出longnames中所有的值 foreach (var name in longnames) Console.WriteLine(name); Console.ReadKey(); LINQ中集合的使用 使用LINQ操作简单的类和集合。首先创建一个(Employee)类具有id和name属性。 public class Employee{ private string _empID; private string _empName; public Person(){} public string EmpID{ set{_empID = value; } } public string EmpName{ get { return _empName; } set {_empName = value; } } } 现在创建一个Employee对象集合。 List emp = new List{ new Employee{EmpID =1,EmpName="priya",Sex="Female"}, new Employee{EmpID =2,EmpName="Arun",Sex="Male"}, new Employee{EmpID =3,EmpName="Balaji",Sex="Male"}, new Employee{EmpID =4,EmpName="Aruna",Sex="Female"}}; // 选择男职员并按他们的名字排序 var maleEmps = from empl in emp where empl.Sex == "Male" orderby empl.EmpName select empl; // 定义出男职员的ID和名字 foreach (var person in maleEmps) Console.WriteLine(person.EmpID + " " + person.EmpName); Console.ReadKey();
get { return _empID; }
- LINQ基础_简单示例
- 简单linq示例
- MVC,Linq简单示例(一)
- LINQ示例
- LINQ示例
- Linq示例
- Linq示例
- 1.LinQ初体验 简单的示例(转载)
- c_基础_返回引用示例
- linq 基础
- LINQ 基础
- LINQ基础
- linq 基础
- linq基础
- LinQ 基础
- LINQ基础
- linq基础
- LINQ to DataSet 示例
- 配置审计的概念辨析
- XP编程
- DDOS攻击,BT应用,ARP攻击
- 我要严格要求自己
- 每日吃40克熟芝麻具抗氧化作用可保肝护心
- LINQ基础_简单示例
- JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法
- 程序员与送报工
- js图片预览效果
- 内联(inline)函数~
- struts+spring+ibatis详细配置说明(其中一种方法)
- Java多线程编程要点 (一)
- ZZH:魔兽世界之000:MPQ
- Windows 7 语音识别功能初试