linQ学习笔记之一
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()); }
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"));
}
linQ学习笔记之一的更多相关文章
- linq学习笔记
最近在学习linq的一些基础知识,看了c#高级编程及阅读了园子内部几篇优秀的博文,有所体会,感觉应该记录下来,作为以后复习使用.都是一些最基础的知识,大致分为三个部分:linq预备知识:linq查询: ...
- (转)Linq学习笔记
写在前面 最近在看Linq,在博客园看到这篇文章,写的通俗易懂,转来和大家一起做个分享.原文地址http://www.cnblogs.com/goscan/archive/2011/05/05/Lin ...
- C#之Linq学习笔记【转】
写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些 ...
- C# Linq 学习笔记
刚刚学习了 Siki老师 的C#教程Linq部分,以下是笔记 需要引用命名空间 using System.Linq; 然后我们需要准备数据 武林高手类 /// <summary> /// ...
- C# LINQ学习笔记一:走进LINQ的世界
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5832322.html,记录一下学习过程以备后续查用. LINQ 简介: 语言集成查询(LINQ)是Vi ...
- LINQ 学习笔记(1)
学习资源参考 : http://www.cnblogs.com/lifepoem/archive/2011/12/16/2288017.html 常用方法是 Where, OrderBy, Selec ...
- C# LINQ学习笔记五:LINQ to XML
本笔记摘抄自:https://www.cnblogs.com/yaozhenfa/p/CSharp_Linq_For_Xml.html,记录一下学习过程以备后续查用. 一.生成xml 1.1创建简单的 ...
- C# LINQ学习笔记四:LINQ to OBJECT之操作文件目录
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5816051.html,记录一下学习过程以备后续查用. 许多文件系统操作实质上是查询,因此非常适合使用LINQ方 ...
- C# LINQ学习笔记三:LINQ to OBJECT之操作字符串
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5814204.html,记录一下学习过程以备后续查用. 一.统计单词在字符串中出现的次数 请注意,若要执行计数, ...
- C# LINQ学习笔记二:LINQ标准查询操作概述
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5801249.html,记录一下学习过程以备后续查用. “标准查询运算符”是组成语言集成查询 (LINQ) 模式 ...
随机推荐
- [LeetCode] Surrounded Regions 包围区域
Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A region is captured ...
- ActiveMQ入门实例Demo
前面我们已经搭建和配置好了ActiveMQ,下面来看一个Demo,体验一下MQ. JMS 消息模型 JMS消息服务应用程序结构支持两种模型:点对点模型,发布者/订阅者模型. (1)点对点模型(Queu ...
- iOS事件传递->处理->响应
前言: 按照时间顺序,事件的生命周期是这样的: 事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view.寻找最合适的view的底层实现.拦截事件的处理)->找到最合适的view后 ...
- python笔记-字符串函数总结
字符串函数: chr() 数字转ASCII chr(96)="a" ord() ASCII转数字 ord("a")=96 isspace() 判断是否为空格 s ...
- 关于SharpDevelop 4版本以上没有ILAsm模板项目问题
学习CIL的时候遇到的问题,记录一下. 查了一下英文网站,SharpDevelop 3 版本有ILAsm模板,但是有人运行3版本的CIL项目有问题. 说明一下SharpDevelop 4版本添加ILA ...
- jsp重定向和转发
表单提交到servlet后,servlet进行转发之后浏览器上的url为什么还是servlet的url-pattern,但是页面内容却是跳转之后页面的内容. 研究了半天之后发现这个和转发和重定向有关系 ...
- 用rose画UML图(用例图,活动图)
用rose画UML图(用例图,活动图) 首先,安装rose2003,电脑从win8升到win10以后,发现win10并不支持rose2003的安装,换了rose2007以后,发现也不可以. 解决途径: ...
- 【Beta】第七次任务发布
PM #103 #85 日常管理&dev版宣传&新增报告管理后台. 后端 #103 报告管理后台后端实现,提供必要API接口及文档说明 验收:符合要求的接口及其说明文档 前端 #89 ...
- php 远程本地化无后缀图片
$body = '<p style="margin: 0px 0px 1.1em; padding: 0px; color: rgb(51, 51, 51); font-family: ...
- .NET FRAMEWORK版本:4.0.30319; ASP.NET版本:4.6.118.0
https://gqqnbig.me/2015/11/23/net-framework%e7%89%88%e6%9c%ac4-0-30319-asp-net%e7%89%88%e6%9c%ac4-6- ...