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) 模式 ...
随机推荐
- 测试docker不同主机间容器互相访问
测试服务器(centos6.5):192.168.16.70 网卡:eth0192.168.16.74 网卡:eth0第一步,分别在2台机器执行: yum install docker service ...
- EventBus使用
转自 http://blog.csdn.net/harvic880925/article/details/40660137
- Android Hook技术
原文:http://blog.csdn.net/u011068702/article/details/53208825 附:Android Hook 全面入侵监听器 第一步.先爆项目demo照片,代码 ...
- 样式重置 css reset
新浪的初始化: html,body,ul,li,ol,dl,dd,dt,p,h1,h2,h3,h4,h5,h6,form,fieldset,legend,img { ; padding: 0 } fi ...
- StringTokenizer类的使用
StringTokenizer是一个用来分隔String的应用类,相当于VB的split函数. 1.构造函数 public StringTokenizer(String str) public Str ...
- ngrok反向隧道--获取内网IP
ngrok反向隧道 前情提要:小明与小白各有一台主机,两台主机在同一内网,小明想直接通过内网ssh到小白的主机上.但是小白的ip地址会不断的变化,而小明不想每次都要麻烦小白查看ip.于是小明催生了一个 ...
- 净捡软柿子捏--jQuery 遍历方法
---------------------------------------------add()------------------------------------------ jquery. ...
- java swing 双人五子棋源代码
import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Toolkit; impo ...
- posgresql
ubuntu下 修改postgres数据库用户的密码为123456 sudo -u postgres psql postgres=# ALTER USER postgres WITH PASSWORD ...
- React项目(一):markdown编辑器
在之前的React官网教程中,提到了用Remarkable为插件的markdown评论框.现在就来正儿八经地用另外一个插件marked.js做一个markdown编辑器吧! 准备工作 或许在做之前,应 ...