SlideShare ist ein Scribd-Unternehmen logo
1 von 16
.NET 3.5系列培训(一) ——.NET 3.5 & C# 3.0 & LINQ 朱晔 2010年9月
内容概要 .NET 3.5介绍 C# 3.0新特性 LINQ介绍 LINQ TO OBJECTS详解 LINQ TO XML介绍 LINQ TO DATASET介绍
.NET 3.5介绍 .NET发展历程 理解.NET CLR C#ASP.NET VS的关系 .NET 3.5的构成和新特性 .NET3.0 = .NET框架2.0 with SP1 + WCF/WPF/WF/WCS。 .NET 3.5 = .NET框架2.0 with SP2 + ASP.NET AJAX + LINQ + C# 3.0 + WCF/WPF/WF(WFF)/WCS 2.0
.NET 3.5介绍 VS2008新特性 多定向支持 智能感知窗口透明化 JS智能感知 JS调试支持 WEB设计器 CSS设计器 代码格式化和度量 …………
C# 3.0新特性 自动属性 原来的写法 现在的写法 可以使用访问修饰符 不换行的写法 观察编译后的代码 对象初始化器 原来的写法 现在的写法 嵌套 省略构造方法括号 注意VS的智能提示 观察编译后的代码
C# 3.0新特性 集合初始化器 原来的写法(使用对象初始化器) 现在的写法 对于Dictionary的写法 自定义的类支持集合初始化器 观察编译后的代码 隐含类型局部变量 现在的写法 可以表示null但是需要类型 不建议到处使用,只建议针对匿名类型使用 错误的使用方法(方法参数,方法返回值,字段) 观察编译后的代码
C# 3.0新特性 匿名类型 原来的写法(需要先定义类再初始化) 现在的写法(配合类型推断和对象初始化器) 生成相同类型的条件(属性名字类型个数次序都一致) override了Equals()方法 观察编译后的代码 扩展方法 使用方法(静态类,静态方法,this) 扩展BCL既有类型(包括接口) 结合泛型以及类型推断的扩展方法 扩展方法妙用http://www.cnblogs.com/ldp615/archive/2009/08/07/1541404.html
C# 3.0新特性 Lambda表达式 有名方法匿名方法到Lambda表达式 Lambda表达式的几种省略形式 Lambda表达式用于方法延迟执行 Lambda表达式与out 复杂的Lambda表达式 分部方法 使用方法(在分部类中) 如果没有实现,则移除声明以及所有调用(因此只能是void返回值) 如果有实现,则是一个普通私有方法
C# 3.0新特性 查询句法 实现和结构 观察编译后的代码 选择查询句法还是查询方法 C# 3.0和C# 2.0的对比 一行代码和五十行代码
C# 3.0新特性
LINQ介绍
LINQ介绍 一个从XML读取数据保存到数据库的DEMO 一个夸张的LINQ DEMO LINQ PROVIDERS LINQ to CSV LINQ to Amazon LINQ to Active Directory LINQ to Bindable Sources (SyncLINQ) LINQ to C# project LINQ to Continuous Data (CLinq) LINQ to CRM LINQ To Geo - Language Integrated Query for Geospatial Data LINQ to Excel LINQ to Expressions (MetaLinq)  LINQ Extender (Toolkit for building LINQ Providers) LINQ to FlickrLINQ to GoogleLINQ to Indexes (LINQ and i40) LINQ to IQueryable (Matt Warren on Providers)  LINQ to JSON LINQ to LDAP LINQ to Nhibernate LINQ to JavaScript LINQ to LLBLGen Pro LINQ to Lucene LINQ to Metaweb(freebase) LINQ to MySQL, Oracle and PostgreSql (DbLinq) LINQ to Ncover LINQ to Opf3 LINQ to Parallel (PLINQ) LINQ to RDF Files LINQ to Sharepoint LINQ to SimpleDB LINQ to Streams LINQ to Twitter LINQ to WebQueries LINQ to WMI LINQ To WIQL LINQ to XtraGrid
LINQ TO OBJECTS详解 API 限制: Where, OfType 投影: Select, SelectMany 排序: OrderBy, ThenBy, OrderByDescending, ThenByDescending, Reverse  连接: Join, GroupJoin 分组: GroupBy 组: Zip (.net 4.0), Distinct, Union, Intersect, Except,Concat 聚合: Aggregate, Count, LongCount, Sum, Min, Max, Average  分区: Take, Skip, TakeWhile, SkipWhile 转换: ToSequence, ToArray, ToList, ToDictionary, ToLookup, Cast  相等: SequenceEqual 元素: First, FirstOrDefault, Last, LastOrDefault, Single, SingleOrDefault, ElementAt, ElementAtOrDefault, DefaultIfEmpty 生成: Range, Repeat, Empty  限定: Any, All, Contains
LINQ TO OBJECTS详解 LINQ TO OBJECTS给我们带来了什么体验? 链式调用(扩展方法+返回this) 声明式编程(纯业务无技术) 延迟执行 执行流程分析 复杂查询的查询句法 扩展自定义方法 常见应用的LINQ TO OBJECTS使用范例 IO 反射 字符串 扩展学习 101个例子 http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx LINQPAD
LINQ TO DATASET介绍 查询单表 根据关系查询多表
LINQ TO XML介绍 查询XML 从字符串读取XML 从文件读取XML 查询元素和属性 查询后代和前辈 XPATH查询 创建XML 声明方式 保存 修改XML 修改值 替换元素 删除元素

Weitere ähnliche Inhalte

Ähnlich wie Training i:.net 3.5 & c# 3.0 & linq

twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC
 
0509 Windows Serevr 2008 新世代網路應用程式
0509 Windows Serevr 2008 新世代網路應用程式0509 Windows Serevr 2008 新世代網路應用程式
0509 Windows Serevr 2008 新世代網路應用程式Timothy Chen
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC
 
淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)vanadies10
 
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1twMVC
 
Asp.Net MVC 一教就上手
Asp.Net MVC 一教就上手Asp.Net MVC 一教就上手
Asp.Net MVC 一教就上手Study4TW
 
全端物聯網探索之旅 - 重點整理版
全端物聯網探索之旅 - 重點整理版全端物聯網探索之旅 - 重點整理版
全端物聯網探索之旅 - 重點整理版Simen Li
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)wangjiaz
 
部門會議 950619 Leon的錦囊妙計
部門會議 950619 Leon的錦囊妙計部門會議 950619 Leon的錦囊妙計
部門會議 950619 Leon的錦囊妙計Leon Chuang
 
教學投影片01_Vb2005
教學投影片01_Vb2005教學投影片01_Vb2005
教學投影片01_Vb2005洋夫 葉
 
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Wade Huang
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展江華 奚
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練32015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3Duran Hsieh
 
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Gelis Wu
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介Allen Lsy
 
.Net网络编程入门
.Net网络编程入门.Net网络编程入门
.Net网络编程入门magicshui
 
zhuwenlongChinese
zhuwenlongChinesezhuwenlongChinese
zhuwenlongChineseWenlong Zhu
 
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Gelis Wu
 

Ähnlich wie Training i:.net 3.5 & c# 3.0 & linq (20)

twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
 
0509 Windows Serevr 2008 新世代網路應用程式
0509 Windows Serevr 2008 新世代網路應用程式0509 Windows Serevr 2008 新世代網路應用程式
0509 Windows Serevr 2008 新世代網路應用程式
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
 
淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)
 
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1與 Asp.net mvc 的第一次親密接觸 - twMVC#1
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
 
Asp.Net MVC 一教就上手
Asp.Net MVC 一教就上手Asp.Net MVC 一教就上手
Asp.Net MVC 一教就上手
 
全端物聯網探索之旅 - 重點整理版
全端物聯網探索之旅 - 重點整理版全端物聯網探索之旅 - 重點整理版
全端物聯網探索之旅 - 重點整理版
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)
 
J S教材
J S教材J S教材
J S教材
 
部門會議 950619 Leon的錦囊妙計
部門會議 950619 Leon的錦囊妙計部門會議 950619 Leon的錦囊妙計
部門會議 950619 Leon的錦囊妙計
 
教學投影片01_Vb2005
教學投影片01_Vb2005教學投影片01_Vb2005
教學投影片01_Vb2005
 
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練32015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練3
 
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介
 
.Net网络编程入门
.Net网络编程入门.Net网络编程入门
.Net网络编程入门
 
敦群學院-SharePoint精英計畫-系統開發-Day 3
敦群學院-SharePoint精英計畫-系統開發-Day 3敦群學院-SharePoint精英計畫-系統開發-Day 3
敦群學院-SharePoint精英計畫-系統開發-Day 3
 
zhuwenlongChinese
zhuwenlongChinesezhuwenlongChinese
zhuwenlongChinese
 
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
 

Training i:.net 3.5 & c# 3.0 & linq

  • 1. .NET 3.5系列培训(一) ——.NET 3.5 & C# 3.0 & LINQ 朱晔 2010年9月
  • 2. 内容概要 .NET 3.5介绍 C# 3.0新特性 LINQ介绍 LINQ TO OBJECTS详解 LINQ TO XML介绍 LINQ TO DATASET介绍
  • 3. .NET 3.5介绍 .NET发展历程 理解.NET CLR C#ASP.NET VS的关系 .NET 3.5的构成和新特性 .NET3.0 = .NET框架2.0 with SP1 + WCF/WPF/WF/WCS。 .NET 3.5 = .NET框架2.0 with SP2 + ASP.NET AJAX + LINQ + C# 3.0 + WCF/WPF/WF(WFF)/WCS 2.0
  • 4. .NET 3.5介绍 VS2008新特性 多定向支持 智能感知窗口透明化 JS智能感知 JS调试支持 WEB设计器 CSS设计器 代码格式化和度量 …………
  • 5. C# 3.0新特性 自动属性 原来的写法 现在的写法 可以使用访问修饰符 不换行的写法 观察编译后的代码 对象初始化器 原来的写法 现在的写法 嵌套 省略构造方法括号 注意VS的智能提示 观察编译后的代码
  • 6. C# 3.0新特性 集合初始化器 原来的写法(使用对象初始化器) 现在的写法 对于Dictionary的写法 自定义的类支持集合初始化器 观察编译后的代码 隐含类型局部变量 现在的写法 可以表示null但是需要类型 不建议到处使用,只建议针对匿名类型使用 错误的使用方法(方法参数,方法返回值,字段) 观察编译后的代码
  • 7. C# 3.0新特性 匿名类型 原来的写法(需要先定义类再初始化) 现在的写法(配合类型推断和对象初始化器) 生成相同类型的条件(属性名字类型个数次序都一致) override了Equals()方法 观察编译后的代码 扩展方法 使用方法(静态类,静态方法,this) 扩展BCL既有类型(包括接口) 结合泛型以及类型推断的扩展方法 扩展方法妙用http://www.cnblogs.com/ldp615/archive/2009/08/07/1541404.html
  • 8. C# 3.0新特性 Lambda表达式 有名方法匿名方法到Lambda表达式 Lambda表达式的几种省略形式 Lambda表达式用于方法延迟执行 Lambda表达式与out 复杂的Lambda表达式 分部方法 使用方法(在分部类中) 如果没有实现,则移除声明以及所有调用(因此只能是void返回值) 如果有实现,则是一个普通私有方法
  • 9. C# 3.0新特性 查询句法 实现和结构 观察编译后的代码 选择查询句法还是查询方法 C# 3.0和C# 2.0的对比 一行代码和五十行代码
  • 12. LINQ介绍 一个从XML读取数据保存到数据库的DEMO 一个夸张的LINQ DEMO LINQ PROVIDERS LINQ to CSV LINQ to Amazon LINQ to Active Directory LINQ to Bindable Sources (SyncLINQ) LINQ to C# project LINQ to Continuous Data (CLinq) LINQ to CRM LINQ To Geo - Language Integrated Query for Geospatial Data LINQ to Excel LINQ to Expressions (MetaLinq) LINQ Extender (Toolkit for building LINQ Providers) LINQ to FlickrLINQ to GoogleLINQ to Indexes (LINQ and i40) LINQ to IQueryable (Matt Warren on Providers) LINQ to JSON LINQ to LDAP LINQ to Nhibernate LINQ to JavaScript LINQ to LLBLGen Pro LINQ to Lucene LINQ to Metaweb(freebase) LINQ to MySQL, Oracle and PostgreSql (DbLinq) LINQ to Ncover LINQ to Opf3 LINQ to Parallel (PLINQ) LINQ to RDF Files LINQ to Sharepoint LINQ to SimpleDB LINQ to Streams LINQ to Twitter LINQ to WebQueries LINQ to WMI LINQ To WIQL LINQ to XtraGrid
  • 13. LINQ TO OBJECTS详解 API 限制: Where, OfType 投影: Select, SelectMany 排序: OrderBy, ThenBy, OrderByDescending, ThenByDescending, Reverse 连接: Join, GroupJoin 分组: GroupBy 组: Zip (.net 4.0), Distinct, Union, Intersect, Except,Concat 聚合: Aggregate, Count, LongCount, Sum, Min, Max, Average 分区: Take, Skip, TakeWhile, SkipWhile 转换: ToSequence, ToArray, ToList, ToDictionary, ToLookup, Cast 相等: SequenceEqual 元素: First, FirstOrDefault, Last, LastOrDefault, Single, SingleOrDefault, ElementAt, ElementAtOrDefault, DefaultIfEmpty 生成: Range, Repeat, Empty 限定: Any, All, Contains
  • 14. LINQ TO OBJECTS详解 LINQ TO OBJECTS给我们带来了什么体验? 链式调用(扩展方法+返回this) 声明式编程(纯业务无技术) 延迟执行 执行流程分析 复杂查询的查询句法 扩展自定义方法 常见应用的LINQ TO OBJECTS使用范例 IO 反射 字符串 扩展学习 101个例子 http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx LINQPAD
  • 15. LINQ TO DATASET介绍 查询单表 根据关系查询多表
  • 16. LINQ TO XML介绍 查询XML 从字符串读取XML 从文件读取XML 查询元素和属性 查询后代和前辈 XPATH查询 创建XML 声明方式 保存 修改XML 修改值 替换元素 删除元素