从.NET开始 - ASP.NET,WPF,Silverlight或命令行C#?

Sah*_*bov 8 .net c# asp.net wpf

如果有人开始使用.NET框架,那么最可行的模板是什么?可行性我指的是学习曲线最低且收益最高的那个.

从...开始:

  • C#中的命令提示应用程序?
  • 使用ASP.NET的Web应用程序?
  • XAML/C#中的Silverlight应用程序?
  • WPF/Winforms桌面应用程序?

我不想过多地关注某个特定的域,而是要学习.NET Framework 4.0中的所有内容.以哪种顺序学习.NET会更好?

Rob*_*ney 12

控制台应用程序显然是起点:用户界面是一片巨大的森林,在你开发出在荒野中寻找小径的能力之前,尝试通过它是没有意义的.此外,没有什么可以学习做的控制台应用程序,这些应用程序不适用于您在C#中执行的所有操作.

之后的下一步是学习如何构建用户界面.我会对那些暗示你选择WinForms的人提出异议:是的,那里有很多关于如何使用它的信息,而且有很多工具,最简单的是它很容易理解.但是WinForms存在两个问题.

首先,WinForms很容易实现的很多东西实际上是非常糟糕的编程实践.在同一个类中混合业务和表示逻辑是WinForms编程的标准,并且需要花费大量精力来打破这种习惯,特别是因为数据绑定 - 将数据模型与表示分离的关键工具 - 在WinForms,虽然它是WPF架构的核心.还有很多东西要学习与WPF -一个很多更多-但是你写出来更好的方案.

其次,WinForms即将结束.你不会看到微软投入更多资源来改进它.他们完成了.这并不意味着它对未来不会有用 - 它是 - 但它现在在软件开发生态系统中的整体渗透程度与以往一样大.

使用WPF的另一个原因是,你学习使用WPF的大部分内容也适用于Silverlight,它打开了一扇永远关闭WinForms的大门.

就ASP.NET而言,这是您在需要之前不想学习的东西.