[转]VS 2008 新特色一览

正文转自:http://www.cnblogs.com/ejiyuan/archive/2008/02/22/1078264.html

1)javacscript html css 智能感知,这个效果要于期待的
2)javascript调试功能
3)html编辑器在来自文件和规划之根底增加split查看方,这样即便足以边改源文件边查效果了
4)智能感知方面,在可选列表可见状态下仍下Ctrl键,可以使列表透明,以查看被盖的部分,松开Ctrl后连续进行抉择。
5)在创立项目事先,可以选择.net framework 的版本。这样,在利用vs 2008
强大IDE 的又,可以创造 .因net fx2.0 或 .net fx 3.0
的色,而休用切换至vs2005脚。

重要的尚是言语特色方面的改善:
1)扩展方法:
推而广之方法允许编程人员在静态类及编制好之法门,以恢宏静态类的效力。
按我们得以写这么一个道:
public static bool IsPrime(this int integer)
{
if(integer == 1)
{
return false;
}
for(int i = 2;i <= Math.Sqrt(integer); i++)
{
if(integer % 2 == 0)
return false;
}
return true;
}
下就是好如此写:
int i = 1798517;
if(i.IsPrime())
{
Console.WriteLine(i);
}

留神 static 和 this
关键字。这样做得使程序还符合人之沉思,更近乎自然语言。看我们现在凡怎么开的:
概念一个MyUtils类:
Class MyUtils
{
public bool IsPrime(int integer)
{
if(integer == 1)
{
return false;
}
for(int i = 2;i <= Math.Sqrt(integer); i++)
{
if(integer % 2 == 0)
return false;
}
return true;
}
}
使用:
MyUtil mu = new MyUtil();
bool flag = mu.IsPrime(12517)
if(flag)
{
……
}
2) lambda表达式
.net 2.0 引进了匿名方式,.net 3.5越引进了lambda表达式来简化。
lambda表达式允许这样形容:
IEnumerable <Book> cheapBooks = books.where(b => b.Price
<=50)
(where 关键字是脚要干的Linq中提供的功效)
对应的匿名方式:
IEnumerable <Book> cheapBooks = books.where(
delegate(Book b)
{
return b.Price <=50;
}
);
3)Linq 语言集成查询(Language Integrated Query)
.net
3.5受加进了成千上万询问关键字,这样即便足以直接编写查询,而非用重新写sql语句。例如:
var cheapBooks = from book in books
orderby book.Price
select book.Name, book.Author,book.Price
where book.Price <= 50
books可以使一个屡组,可以假设一个聚众,可以是XML文件为得以是数据库里之一个发明
4)自动属性
机关属性允许编程人员在概念一个类时作如下简化:
public class Book
{
public string Name{ get; set; }
public string Author{ get; set; }
public int Price{ get; set; }
}
自也可没有set,如果属性是就读之话语。这样就非去了定义私有的 _name,
_author, _price及get
set方法体,编译器会自动生成相应的私变量和方法体。
5)对象初始化器,集合初始化器
当2.0受到,我们立即初始化一个目标;
Book book = new Book();
book.Name = “C# in a nutshell”;
book.Author = “Peter Drayton”;
book.Price = 30;
3.5受我们可如此写:
Book book = new Book
{ Name = “C# in a nutshell”, Author = “Peter Drayton”,Price = 30;
}
聚拢初始化器允许我们批量抬高对象,而无用同样久一久之用add方法添加:
List<Book> books = new List<book>
{
new Book{Name = “C# in a nutshell”, Author = “Peter Drayton”,Price =
30;};
new Book{Name = “Ajax in a nutshell”, Author = “Peter Drayton”,Price =
40;};
new Book{Name = “Python in a nutshell”, Author = “Peter Drayton”,Price =
50;};
};
6)隐式本地变量
3.5中引入了var关键字,允许开发者在概念变量时不点名项目:
var a = 15;
var b = new string[] {“a”,”b”,”c”,”d”}
但是c#还是是强类型的,只不过编译器是因后面所赋的值来推测出变量的类别,因此赋值是须的,且只能发出同样种植档次,定义后呢即不克再次进行更改,它于Linq
中异常有因此,能大地简化代码。
7)匿名变量
var w = new [] {“a”,”b”,”c”,”d”}
var b = new {Name = “xml”, Author = “aa”,Price = 50};
C# 编译器会自动生成一个总体的匿名类包括私出字段,属性,get
set,还有最后的赋值语句

 

 

相关文章