c#不同版本的编程规范和用法有什么不一样?希望可以有具体的例子不要泛泛的说例如 : c# 不同版本创建委托区别public class Progarm
{
delegate void MyDelegate(string s,string s2);
public static void Main(string[] args)
{
//C# 1.1
MyDelegate m = new MyDelegate(isOk); //C# 2.0 匿名方法 , 可以写内联语句,不必创建一个方法
MyDelegate m2 = delegate(string s, string s2) { Console.WriteLine(s + "," + s2); };
//C# 3.0 Lambda, 使用参数x,y ; x、y的类型由编译器推测
MyDelegate m3 = (x, y) => { Console.WriteLine(x + "," + y); };
string s1 = "xx";
string s3 = "yy"; m(s1, s3);
m2(s1, s3);
m3(s1, s3);
} private static void isOk(string s,string s2)
{
Console.WriteLine(s + "," + s2);
}
}
{
delegate void MyDelegate(string s,string s2);
public static void Main(string[] args)
{
//C# 1.1
MyDelegate m = new MyDelegate(isOk); //C# 2.0 匿名方法 , 可以写内联语句,不必创建一个方法
MyDelegate m2 = delegate(string s, string s2) { Console.WriteLine(s + "," + s2); };
//C# 3.0 Lambda, 使用参数x,y ; x、y的类型由编译器推测
MyDelegate m3 = (x, y) => { Console.WriteLine(x + "," + y); };
string s1 = "xx";
string s3 = "yy"; m(s1, s3);
m2(s1, s3);
m3(s1, s3);
} private static void isOk(string s,string s2)
{
Console.WriteLine(s + "," + s2);
}
}
如2.0中泛型 delegate
3.5中就可使用LINQ解决
字符串判断=="",string.IsNullOrEmpty
虽然我不知道你说的“编程规范”是什么,但是我觉得这跟所谓“规范”没什么关系,只是framework中各种“轮子”的用法不同而已
VS2008支持在2.0,3.0和3.5三种版本下开发项目,VS2005的项目可以平稳的升到VS2008上,在VS2008下做VS2005的项目,用的编译器和类库同VS2005都是一样的,但是提供了更好的开发环境。
不知道楼主是不是要知道这些呢?具体的区别,看看别人的答案