linq是语言集成查询。
linq to object :面向对象的查询。
linq to xml:针对xml查询。
linq to ADO.NET:主要负责对数据库的查询。
linq to Datset
linq to SQL
LINQ TO ENTITY
代码分析:
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btntiyan_Click(object sender, EventArgs e)
{
int[] arr = { 123, 12, 3, 13, 46, 47, 56, 345 };
//获取大于50的数
//var query = from a in arr
// where a > 50
// select arr;
//foreach (var item in query)
//{
// Console.WriteLine();
//}
IEnumerable ie = arr.Select(p => p).Where(p => p > 50);
IEnumerator result = ie.GetEnumerator();
while (result.MoveNext())
{
Console.WriteLine(result.Current);
}
}
private void btnkuozhan_Click(object sender, EventArgs e)
{
//拓展方法
string s = "asdad";
Console.WriteLine(s.ToUpper());
Console.WriteLine(s.ToLower());
Console.WriteLine(s.ToPascal());
Console.WriteLine(s.ToPascal(2));
//拓展方法,对现有的类提供额外的方法以增强
//扩展方法是一种特殊的静态方法
//扩展方法必须在静态类中定义
//除非必要不要滥用扩展方法
}
}
//拓展类,只要是静态就可以
public static class ExtraClass
{
public static string ToPascal(this string s)
{
return s.Substring(0, 1).ToUpper()+s.Substring(1).ToLower();
}
public static string ToPascal(this string s,int len)
{
return s.Substring(0, 1).ToUpper() + s.Substring(1,len).ToLower();
}
}
}
输出结果:
总结:
linq中方法绝大多数是静态的。
linq中方法优先级低、