前言概述:
微软的脚步一直都很快,经常发现很多技术还没学就已经过时了(可能是本 人学习能力低下);作为研发个人认为应该站在技术的前沿,一定要跟上新技术 的脚步(没办法,不学这些东西,过一段时间饭碗要保不住的);
从2002开始做开发,一直以来都在用vs.net(c#),可以算的上使用.net的一 个老程序员了,可是回头看看,居然对.net很多都不了解,或者是一知半解;( 汗如泉涌)作为一个用了5,6年.net开发的程序员,居然只知道页面放控件要整 齐好看,UI数据传递给业务层处理,然后调用数据层访问(工作主要处理内容) ,很长一段时间不知道asp.net为何物(以前一直做winform),开发使用的最原 始的.net自带IDE工具,没有开发任何辅助工具,对架构设计没什么概念,项目 管理不知如何下手,测试全靠手工点界面,性能优化没有效果,数据事务没有保 障,安装部署从来不知道怎么弄,代码重构没有干过,设计模式只知道工 厂......
实在有太多东西不懂,(省略号包含的内容太多)这两年刚开始接触asp.net 开发,一个人摸着石头过河,走了不少弯路,到现在还在摸索,感觉好多基础的 东西都是新的;对自己能力极度怀疑的情况下,同时对微软(当然包括其他WEB 技术供应商)这些牛人们产生极度的愤慨,没事搞出那么多技术,让我还怎么活 (能力较差,性格懒散类型),学好一个技术(点)还有N+1个在后面排着;
这两年忙着装修,娶媳妇(全是偷懒的借口),原来的一点技术上积累的老 底已经过时,很多都用不上了,直接导致一个严重的后果:近两年没涨过工资, 还要当心失业的问题(一家老小啊,还有万恶的银行贷款压迫),在诸多压力下 ,决定彻底改造,重新做人,争取早日刑满释放,TNND,应该说金盆洗手(攒个 百八十万的,当然要算美金才行,这社会RMB不经花),于是乎,决定从基础学 起,开始这个C#3.0历程,希望整理的这些资料能给各位有一点点帮助!
一.C# 3.0语言主要增强点
• 隐含类型局部变量
• 扩展方法
• 对象与集合初始化器
• 匿名类型
• Lambda表达式
• 查询表达式( LINQ )
• 表达式树
二.隐含类型局部变量
先来看看例句:
var i = 5;
var h=23.56;
var s = “C Sharp";
var intArr = new[] {1,2,3,4} ;
var a = new[] { 1, 10, 100, 1000 };
"var"这个关键字是不是很眼熟,javascript中经常用到(互相学 习现在比较常见了),当然C#中var和javascript的var差别还是比较大。
1.var只能作为局部变量使用;
就是说var只能定义在一个方法里面,或者foreach,for,using等语句里 面:
public class VarTest
{
private void test()
{
var i = 0;
}
}