对于初学者来说,.NET框架中最重要的部分是什么?

13

在像The Daily WTF这样的网站上,经常会看到过度设计的代码示例,而这些代码本应该只是一个对.NET框架内置方法的调用。

对于一名刚开始从事.NET工作的开发人员来说,哪些命名空间/类应视为基本知识?

根据Joel Spolsky对此类问题的指导,请限制您的答案以便进行投票。

11个回答

14
System;
System.Collections;
System.Collections.Generic;

我想要添加 System.Text.RegularExpressions。 - Vivek
1
不是 System.Collections,而是邪恶的弱类型集合... - RCIX
2
正则表达式对于绝对初学者来说?开什么玩笑... - Arnis Lapsa

10

System.IO非常重要。

了解如何使用流(Stream)和各种实现方式(FileStream、MemoryStream、CompressionStream),以及如何与二进制数据或来自TextReader/TextWriter实例的文本结合使用,是一项必不可少的技能。


流(streams)是理解的一个重要部分。然而,它并不是最直观的(在我看来,也是框架中设计最糟糕的部分之一)。 - alexmac

7

System.Brains and System.CommonSense


7
System.IDisposable

如果没有正确处理实现它的对象(流、数据库连接、套接字等),会导致文件锁定错误、打开的数据库连接以及在软件中出现许多其他令人不愉快且难以发现的错误。

http://www.codeproject.com/KB/cs/idispose.aspx


在我看来,Dispose显然不是一个初学者的问题。 - Julien Hoarau
即使是新手和“有经验”的高级开发人员现在不知道资源管理的重要性,作为初学者,你也不应该忽视它。 - user19302
4
知道如何实现 IDisposable 不是初学者所需,但知道它的存在和需要释放实现了它的对象是必要的。 - James Newton-King

6

使用 System;

System 可能是最重要的命名空间,因为它包含核心功能,如 Object 和 Array,以及 GC(垃圾回收器)。


4

System.String

学习如何使用通过System.Text.RegularExpressions命名空间公开的正则表达式,这将为您节省大量时间,如果您最终需要重新编写文本解析器或其他已经内置有函数的字符串相关任务。

http://www.regular-expressions.info/dotnet.html

而且daily WTF很棒 :D


2

如果你正在使用VB.NET,我认为My命名空间非常重要。它包含了许多以前分散在框架各个地方的快捷方式。它也相当直观。你可以写出像下面这样的代码:
对于每个打印机 in My.Computer.Printers
或者
My.Computer.FileSystem.OpenFile(文件名)
My.Computer.Info.AvailablePhysicalMemory
My.Computer.Screen.PrimaryScreen.WorkingArea


是的,这是一个不好的习惯,如果需要转换到C#的话就会很麻烦。所以,我建议在团队合作时避免使用My命名空间。另外,在BCL中可以使用System.IO.File.Open(FileName)来代替,而且还更简洁:D - OregonGhost
没错,我同意应该避免使用 My 命名空间。 - alexmac
虽然问题中没有明确说明(我正在考虑修改它),但我的意图是首先学习C#,所以对于我来说,My命名空间虽然对许多人有用,但对我来说并不实用。谢谢! - AgentConundrum

0

System.Data,特别是Datatable


0

0
  • 使用System.IO进行文件操作
  • 学习如何操作/使用列表、字典等System.Collections和System.Collections.Generic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接