将代码从.Net 1.1升级到2.0/3.5(C#)
我正在升级一个早于.NET 1.1的Windows客户端应用程序。以前的开发人员手工编写了许多解决方案,这些解决方案可以在较新版本的.NET中自动完成。因为我对.NET还比较陌生,对我在这里询问的功能没有完整的概述将代码从.Net 1.1升级到2.0/3.5(C#),c#,.net,C#,.net,我正在升级一个早于.NET 1.1的Windows客户端应用程序。以前的开发人员手工编写了许多解决方案,这些解决方案可以在较新版本的.NET中自动完成。因为我对.NET还比较陌生,对我在这里询问的功能没有完整的概述 在以后的.NET版本中,最值得注意的类和语法特性是什么,它们可能会用库中的特性替换手写代码?LINQ是一个巨大的飞跃。在某些地方可能会用到它(例如XML代码)。此外,泛型可能会减少对某些类的需求。LINQ是一个巨大的飞跃。在某些地方可能会用到它(例如XML代码)。此外,泛型可能会减少
在以后的.NET版本中,最值得注意的类和语法特性是什么,它们可能会用库中的特性替换手写代码?LINQ是一个巨大的飞跃。在某些地方可能会用到它(例如XML代码)。此外,泛型可能会减少对某些类的需求。LINQ是一个巨大的飞跃。在某些地方可能会用到它(例如XML代码)。此外,泛型可能会减少对某些类的需求。我脑海中最大的变化是:
- 使用泛型集合而不是ArrayList、Hashtable等
- 对于C#3.5,使用LINQ而不是手动过滤/投影
- 使用通用委托,而不必一直声明自己的委托
- 使用匿名方法,而不是创建用于在一个位置创建委托的单行方法
- 将BackgroundWorker用于WinForms后台任务
在我看来,仿制药是影响最广泛的变化。我脑海中最大的变化是:
- 使用泛型集合而不是ArrayList、Hashtable等
- 对于C#3.5,使用LINQ而不是手动过滤/投影
- 使用通用委托,而不必一直声明自己的委托
- 使用匿名方法,而不是创建用于在一个位置创建委托的单行方法
- 将BackgroundWorker用于WinForms后台任务
在我看来,泛型是影响最广泛的变化。就我个人而言,我会留下任何在使用2.0/3.5编译时运行良好的1.1代码。除非您有时间,否则您重写的任何内容都必须再次测试,并且您仍然可能引入测试无法发现的新bug
不过,我希望在将来的版本中使用泛型和LINQ。泛型与.NET2,LINQ与.NET3.5。我个人认为,使用2.0/3.5编译时,任何1.1代码都可以正常工作。除非您有时间,否则您重写的任何内容都必须再次测试,并且您仍然可能引入测试无法发现的新bug
不过,我希望在将来的版本中使用泛型和LINQ。使用.NET 2的泛型和使用.NET 3.5的LINQ。还应注意并测试框架版本之间中断更改的可能影响。谷歌搜索应该会揭示最重要的问题。还要注意并测试框架版本之间的中断更改可能产生的影响。谷歌搜索应该会发现最重要的问题