Pro---全称是Visual Studio 2005 Professional Edition,是适合小规模使用的版本,授权8-10个人左右。
Std---全称是Visual Studio Standard Edition,也是授权版本,比Pro多一些;
VSTA---全称是Visual Studio 2005 Team Edition for Software Architects,是适合框架设计使用的版本。
VSTD---Visual Studio 2005 Team Edition for Software Developer,适合开发人员;
VSTT---Visual Studio 2005 Team Edition for Software Tester,适合测试人员;
VSTO---Visual Studio 2005 Tools for the Microsoft Office System,对office系列产品进行开发;
VSTS---Visual
Studio 2005 Team System,也是针对软件开发的各个层次最全面的一个版本,有时间会对他进行详细介绍。
新特征主要体现在三个方面:
1、Language Spec
Enhancement (C#)
• Generics泛型
所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型,同在程序运行时进行实例化而在编译时刻进行代码检查
{
private T[] elements;
private int count;
public void Add(T element) {
if (count == elements.Length) Resize(count * 2);
elements[count++] = element;
}
public T this[int index] {
get { return elements[index]; }
set { elements[index] = value; }
}
public int Count {
get { return count; }
}
}
List<int> intList = new List<int>();
intList.Add(1); // No boxing
intList.Add(2); // No boxing
intList.Add("Three"); // Compile-time error
int i = intList[0]; // No cast required
• Anonymous
methods匿名方法
很简单,看一下示例就会明白:
2 {
3 ListBox listBox;
4 TextBox textBox;
5 Button addButton;
6
7 public MyForm() {
8 listBox = new ListBox();
9 textBox = new TextBox();
10 addButton = new Button();
11 addButton.Click += delegate {
12 listBox.Items.Add(textBox.Text);
13 };
14 }
15 }
16
• Iterators迭代器
便于返回一系列返回值
{
IEnumerator<ItemType> GetEnumerator();
}
public interface IEnumerator<ItemType> : IDisposable
{
ItemType Current{get;}
bool MoveNext();
}
public class CityCollection : IEnumerable
{
string[] m_Cities = { "New York", "Paris", "London" };
public IEnumerator GetEnumerator()
{
for (int i = 0; i < m_Cities.Length; i++)
yield return m_Cities[i];
}
}
public class CityCollection
{
string[] m_Cities = { "New York", "Paris", "London" };
public IEnumerable<string> Reverse
{
get
{
for (int i = m_Cities.Length - 1; i >= 0; i--)
yield return m_Cities[i];
}
}
}
CityCollection collection = new CityCollection();
foreach(string city in collection.Reverse)
{
Trace.WriteLine(city);
}
• Partial types分布类型定义
分布类型允许我们将一个类、结构或者接口写在不同的.css文件中,最终编译器会把他们编译到一起。
2 {
3 private int id;
4 private string name;
5 private string address;
6 private List<Orders> orders;
7 }
8
9 public partial class Customer
10 {
11 public void SubmitOrder(Order order) {
12 orders.Add(order);
13 }
14
15 public bool HasOutstandingOrders() {
16 return orders.Count > 0;
17 }
18 }
19
• Transaction事务处理
提供Lightweight Transaction Manager (LTM), the OleTx Transaction Manager 和Resource Manager 。支持更多的事务模型:
2、ASP.Net 2.0
• Look and Feel
(Master Page/Theme/Skin)
• Profile
• Security
• DataBinding,
Validation, Web Part Framework
• Code Model
and Compilation
3、Windows Form
• Layout
Designers
• Quick Edit
Mode
• MenuStrip and
ToolStrip
• Splitter
Control
• DataGridView
Control
•