linQ学习笔记之一
来源:互联网 发布:如何编写数据库引擎 编辑:程序博客网 时间:2024/05/16 19:16
linq解决的问题
1.编程语言中的数据类型与数据库中的数据类型形成的两套体系
2.SQL编码体验落后
3.SQL和XML都有各自的查询语言,而对象没有自己的查询语言
linq简单的集合查询和foreach的区别
int[] arr = { 123, 12, 1, 123, 154, 15, 5456, 12, 5, 5, 1516 }; //ArrayList re = new ArrayList(); //for (int i = 0; i < arr.Length; i++) //{ // if (arr[i] > 50) // { // re.Add(arr[i]); // } //} //for (int a = 0; a < re.Count; a++) //{ // System.Console.WriteLine(re[a]); // System.Diagnostics.Debug.Write(re[a]); //} //Linq查询集合中大于50的数 IEnumerable ie = arr.Select(p=>p).Where(p=>p>50); //输出语句 IEnumerator resilt = ie.GetEnumerator(); while (resilt.MoveNext()) { Console.WriteLine(resilt.Current); }
拓展方法
/// <summary> /// 创建一个静态的类,拓展类 /// </summary> public static class ExtraClass { /// <summary> /// 拓展方法 必须是静态的 /// </summary> /// <param name="s">对哪一个属性进行的拓展</param> /// <returns></returns> public static string ToPascal(this string s) { return s.Substring(0, 1).ToUpper() + s.Substring(1).ToLower(); } //为IEnumerable提供输出方法 public static void Print(this IEnumerable ie) { IEnumerator IEU = ie.GetEnumerator(); while (IEU.MoveNext()) { Console.WriteLine(IEU.Current); } } }
private void button1_Click_1(object sender, EventArgs e) { //拓展方法 string a = "asdfgZXCVV"; //转换成大写 Console.WriteLine(a.ToUpper()); //转换成小写 Console.WriteLine(a.ToLower()); //首字母大写,其他小写(拓展方法) Console.WriteLine(a.ToPascal()); }
1.拓展方法是一种特殊的静态方法
2.拓展方法必须在静态类中定义
3.拓展方法的优先级低于同名的类方法
4.除非必须不要滥用拓展方法
4.除非必须不要滥用拓展方法
Lambda表达式的由来
//将字符串的首字母转化为大写的方法 public string ToPascal(string s) { return s.Substring(0, 1).ToUpper() + s.Substring(1).ToLower(); } private void button2_Click(object sender, EventArgs e) { //Lambda来源 //.net FrameWork 1.0委托---函数指针 Excsd es = new Excsd(ToPascal);//委托指向方法ToPascal Console.WriteLine(es("sadsada")); //.net FrameWork 2.0匿名方法 Excsd ed = delegate(string s) { return s.Substring(0, 1).ToUpper() + s.Substring(1).ToLower(); }; Console.WriteLine(ed("sadsada")); //.net FrameWork 3.5 匿名方法 Excsd exd = (s) => (s.Substring(0, 1).ToUpper() + s.Substring(1).ToLower()); Excsd excd = (s) =>s.Substring(0, 1).ToUpper() + s.Substring(1).ToLower(); Console.WriteLine(exd("asdsa")); }
0 0
- linQ学习笔记之一
- linq学习笔记(一)
- linq学习笔记(二)
- Linq学习笔记(三)
- linq学习笔记(一)
- LINQ 学习笔记-1
- LINQ 学习笔记-2
- LINQ 学习笔记-3
- LINQ学习笔记0529
- Linq学习笔记
- linq 查询学习笔记
- LINQ 学习笔记(01)
- LINQ 学习笔记(02)
- LINQ 学习笔记(03)
- LINQ 学习笔记(04)
- LINQ 学习笔记(05)
- linq学习笔记
- linq学习笔记1
- 指针函数和函数指针的区别
- ubuntu中phpmyadmin上传要求小于2M的解决办法
- 大转盘最简单的写法
- Android 动画——Frame Animation与Tween Animation
- docker 容器 中文乱码问题
- linQ学习笔记之一
- 系统流量变化的原因与微型气泵的关系
- 在windows下多个tomcat实例注册成windows服务
- 敏捷 VS 瀑布
- coredata的基本使用总结(一)
- Rerofit的使用
- 程序员面试金典——机器人走方格
- 安卓手电筒
- Jsoup解析HTML实例及文档方法详解