Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 转换为.NET3.5_C#_.net - Fatal编程技术网

C# 转换为.NET3.5

C# 转换为.NET3.5,c#,.net,C#,.net,我最近开始维护一个.NET1.1项目,并希望 将其转换为.NET3.5 关于利用新功能减少代码,有什么建议可以分享吗 作为第一次尝试,我想转换一组静态助手函数 更新:我转换的主要原因是学习新功能,如静态类、LINQ等,至少现在我自己使用。您可以使用(C#2.0功能)重写旧的帮助函数。我建议首先从迁移到.NET 2.0功能开始 我的第一步是慢慢地重构,将所有集合移动到通用集合。这将非常有帮助,并简化到.NET3.5功能的迁移,特别是使用LINQ。它还应该对您的性能有很好的影响,因为任何值类型的集合

我最近开始维护一个.NET1.1项目,并希望 将其转换为.NET3.5

关于利用新功能减少代码,有什么建议可以分享吗

作为第一次尝试,我想转换一组静态助手函数


更新:我转换的主要原因是学习新功能,如静态类、LINQ等,至少现在我自己使用。

您可以使用(C#2.0功能)重写旧的帮助函数。

我建议首先从迁移到.NET 2.0功能开始

我的第一步是慢慢地重构,将所有集合移动到通用集合。这将非常有帮助,并简化到.NET3.5功能的迁移,特别是使用LINQ。它还应该对您的性能有很好的影响,因为任何值类型的集合都会执行得更好

在将哈希表转换为字典时要小心,因为在某些情况下行为是不同的,但在其他情况下,ArrayList->List等都是简单、有用的转换

之后,将帮助器移动到静态类,以及潜在的扩展方法,将是一个很好的下一步要考虑的问题。这可以使代码更具可读性。

如果您想从“转换一组静态助手函数”开始,那么您需要签出


很可能您可以使用它们使代码更简单、更可读。

如果您可以使用它,我发现最简单的方法就是使用Visual Studio 2008。ReSharper将通过一些友好可见的符号向您展示可以改进代码的地方。然后它会显示一个键盘快捷键Alt+Enter来“修复”代码


ReSharper还有一个名为“清理代码”的功能,可以为您进行一些重构。

为什么要转换?.Net 1.1与.Net 3.5完全兼容,因此您在迁移时不会发现任何破坏性的更改。如果你需要重构一个区域,因为它有问题,或者你想以某种方式扩展它,那么我会考虑迁移到使用新的特征,但否则为什么要触摸它并冒着破坏它的风险?
编辑因为这是一个学习练习,而不是更改生产代码,所以我会稍微修改一下我的观点;这可能是学习新方法的好方法。我当然会看看林克。在旧代码遍历列表或处理XML或数据库数据的地方,看看是否可以改用LINQ重新编写。

+1对于一般集合,我建议使用它。我认为在迁移过程中所做的第一个更改中应该有一个更改。我认为您指的是ArrayList。有用的提示。不过我没有收藏。仅数据集..:(@Chris S:如果合适的话,我会考虑将您的静态助手函数移动到静态类和扩展方法中。这将是一个很好的第一步。此外,如果没有集合,我会感到惊讶-ArrayList、Arrays等,这将不会有任何好处。大多数代码都会将它们分散在数千个地方!Resharper会告诉您您的位置可能需要更改。+1抱歉。我不想使用任何自动执行此操作的工具。我觉得这对我的学习体验没有帮助。只是我的想法。我想学习新功能。这只是为了我的使用。我想通过学习在何处应用它来学习新功能。啊,我明白了。打破旧代码风你没有朋友(我自己发现的!!),但如果是供你自己使用,我会编辑添加一些想法。