快速预览:C# 3.0的新东西
Lambda 表达式:
Func<string, string> doubleAppend= x => x + x;
Console.WriteLine (doubleAppend(“test”)); // testtest
LINQ 查询:
string[] names = { "Tom", "Dick", "Harry" };
IEnumerable<string> filteredNames =
Enumerable.Where (names, n => n.Length >= 4); // 字符长度大于等于4的名字
扩展方法:
string[] names = { "Tom", "Dick", "Harry" };
IEnumerable<string> filteredNames = names.Where (n => n.Length >= 4);
隐式类型的局部变量:
var filteredNames = names.Where (n => n.Length == 4);
查询理解语法:
var filteredNames = from n in names where n.Length >= 4 select n;
匿名类型:
var query = from n in names where n.Length >= 4
select new {
Name = n,
Length = n.Length
};
var dude = new { Name = "Bob", Age = 20 };
隐藏类型的数组:
var dudes = new[]
{
new { Name = "Bob", Age = 20 },
new { Name = "Rob", Age = 30 }
};
对象初始化:
class Bunny
{
public string Name;
public bool LikesCarrots;
public bool LikesHumans;
}
// C# 3.0
Bunny b1 = new Bunny { Name="Bo", LikesCarrots=true, LikesHumans=false }; // C# 2.0
Bunny b2 = new Bunny();
b2.Name = "Bo";
b2.LikesHumans = false;
自动的属性:
public class Stock
{
// C# 3.0:
public decimal X { get; set; } // C# 2.0:
private decimal y;
public decimal Y
{
get { return y; }
set { y = value; }
}
}
Partial 方法:
// PaymentFormGen.cs — auto-generated
partial class PaymentForm
{
...
partial void ValidatePayment (decimal amount);
} // PaymentForm.cs — hand-authored
partial class PaymentForm
{
...
partial void ValidatePayment (decimal amount)
{
if (amount > 100)
...
}
}
表达式树:
Expression<Func<string, bool>> predicate = s => s.Length > 10;
Func<string, bool> fun = predicate.Compile();
Console.WriteLine(fun("test").ToString());
快速预览:C# 3.0的新东西的更多相关文章
- [extjs5学习笔记]第三十七节 Extjs6预览版都有神马新东西
本文在微信公众号文章地址:微信公众号文章地址 本文地址:http://blog.csdn.net/sushengmiyan/article/details/45190485 [TOC] 在Ext JS ...
- Webappbuilder开发快速预览
Webappbuilder开发快速预览 by 李远祥 Webappbuilder for ArcGIS 是由ArcGIS JavaScripit API和dojo创建的,它允许通过创建自己的widge ...
- Visual Studio Code预览版Ver 0.3.0试用体验
当你开始阅读这篇文章时,请先不要把Visual Studio Code和.net.Windows联想到一起,因为VS Code是一个跨平台,支持30多种语言的开箱代码编辑器.不管你是.Net.Java ...
- 【macOS使用技巧】使用空格键快速预览文件内容
Quickview 是mac系统上一个强大的预览功能, 可以预览 mp4 mov等音频文件, 当然图片.文本.也都可以进行预览. 在系统中如果你希望快速浏览一下文件而不想打开的文件的话只要选择文件然后 ...
- Sublime Text3如何快速预览html文件
Sublime Text3 步骤1:选择 Tools----> Build System ----> New Build System... 步骤2:输入以下内容 "cmd&qu ...
- .NET ORM框架 SqlSugar4.0 功能快速预览【开源】
SqlSugar 4.0 ORM框架的优势 为了未来能够更好的支持多库分布式的存储,并行计算等功能,将SqlSugar3.x全部重写,现有的架构可以轻松扩展多库. 源码下载: https://gith ...
- Java 9 新特性快速预览
原文出处:wangwenjun69 Java 8 已经出来三年多的时间了,原本计划2016年七月份release Java 9,但是基于种种原因,Java 9 被推迟到了2017年的3月份,本人也在O ...
- less 语法特性翻译稿 - 特性快速预览部分
原文地址 http://lesscss.cn/features/ 概述 作为CSS的一种扩展语法,Less不仅仅向后兼容CSS,新的特性也是基于CSS现有语法.这使得学习Less变得容易,如果你有所怀 ...
- 高精度快速预览打开dwg文件的CAD控件CAD Image DLL介绍及下载
CAD Image DLL对于DXF格式, DWG格式(AutoCAD R12 到AutoCAD 2004/2005), PLT 以及 HPGL/HPGL2文件都有快速的显示速度和精度,开发者再也不会 ...
随机推荐
- SharePoint Srver 2010 资源汇总
转:http://bbs.winos.cn/thread-93681-1-1.html Microsoft SharePoint Server 2010 是适用于企业和网络的业务协作平台,可以帮助您通 ...
- XHTML代码规则&手工html转换xhtml
XHTML规则 XHTML是XML得一个应用,它遵守XML得规范和要求.从技术角度上讲.这些语法规则是由XML规范定义的. XML文档必须遵守的规则使得生成工具以解析文档变得更容易.这些规则也使得XM ...
- GTK+中的树状列表构件(GtkTreeView)
GTK+中的树状列表构件(GtkTreeView) GTK+中的树状列表构件(GtkTreeView) 在本章的GTK+程序设计教程中,我们将向大家重点介绍非常常用也有点复杂的构件--GtkTreeV ...
- [TOP]疯狂的投资
[TOP]疯狂的投资 这是罗辑思维一期<疯狂的投资>的节目笔记,这期主要是通过菲尔德铺设横跨大西洋的电缆的故事讲了创业者需要的特质和<二十一世纪资本论>的一个观念:随着自由市场 ...
- 【原】Spark数据本地性
Spark数据本地性 分布式计算系统的精粹在于移动计算而非移动数据,但是在实际的计算过程中,总存在着移动数据的情况,除非是在集群的所有节点上都保存数据的副本.移动数据,将数据从一个节点移动到另一个节点 ...
- 解决 MyEclipse 10 中 JSp页面 “return false” 报错问题
1.MyEclipse ->. Preferences 2.validation ->>找到JavaScript validator for Js files builder 下面 ...
- POJ 3279 Fliptile (质量不错)
题意:有一个M*N的棋盘,每一个格子只有两种状态0或1,每次可以选择一个格子执行翻转操作,并且与该格子相邻的4个格子都会被翻转,求将所有格子都翻转成0所需要的最小操作数,若有多种方案,输出字典序最小的 ...
- PHP中的empty()和isset()的比较
- Centos System Info
系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # ho ...
- 用document.title=“xxx”动态修改title,在ios的微信下面不生效
单页应用里整个页面只会在第一次完全刷新,后面只会局部刷新(一般不包括head及里面的title),所以无法在服务器端控制title,只能在页面刷新的时候通过js修改title.常规做法如下,可惜在iO ...