开始使用 .NET - ASP.NET、WPF、Silverlight 还是命令行 C#?

2024-03-30

如果有人开始使用 .NET 框架,最可行的模板是什么?我所说的可行是指具有最低学习曲线和最高收益的方法。

从...开始:

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

目前我不想过多关注某个特定领域,而是学习一点 .NET Framework 4.0 中的所有内容。按什么顺序学习 .NET 比较好?


控制台应用程序显然是起点:用户界面是一片广阔的森林,除非您具备在荒野中寻找踪迹的能力,否则尝试穿过它是没有意义的。此外,您在控制台应用程序中学到的所有内容都适用于您在 C# 中所做的所有其他操作。

之后的下一步是学习如何构建用户界面。我对那些建议您选择 WinForms 的人持异议:是的,有很多关于如何使用它的信息,并且有很多工具,而且最简单的是,它非常容易理解。但 WinForms 有两个问题。

首先,WinForms 使许多事情变得如此简单,实际上是非常糟糕的编程实践。在同一个类中混合业务和表示逻辑是 WinForms 编程中的常态,并且需要付出相当大的努力才能打破这种习惯,特别是因为数据绑定(将数据模型与表示解耦的关键工具)在 WinForms 编程中相当边缘化。 WinForms,虽然它是 WPF 架构的核心。 WPF 还有很多东西需要学习 -lot更多 - 但你最终会编写出更好的程序。

其次,WinForms 的生命周期已接近尾声。你不会看到微软投入更多资源来改进它。他们完成了。这并不意味着它在未来不会有用——它确实如此——但它在软件开发生态系统中的整体渗透率目前已经达到了前所未有的程度。

使用 WPF 的另一个原因是,您在 WPF 中学到的大部分知识也适用于 Silverlight,这打开了一扇永远向 WinForms 关闭的大门。

就 ASP.NET 而言,除非需要,否则您不想学习它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

开始使用 .NET - ASP.NET、WPF、Silverlight 还是命令行 C#? 的相关文章

随机推荐

  • 在Python 3.x中继承Python的对象是否有必要或者有用? [复制]

    这个问题在这里已经有答案了 在较旧的 Python 版本中 当您创建类时 它可以继承自object据我所知 这是一个特殊的内置Python元素 它允许你的类成为一个新样式的类 新版本 gt 3 0 和 2 6 怎么样 我用谷歌搜索了obje
  • Angular2 + webpack 不显示图像

    我已遵循Angular2 webpack 教程 https angular io docs ts latest guide webpack html 但似乎该应用程序无法加载任何图像 这是我的应用程序的目录结构 dist src asset
  • 根据放大/缩小时的可见区域在框的表面显示文本

    I have a sample 3D application built by taking reference from the Javafx sample 3DViewer which has a table created by la
  • RPostgreSQL - 将数据帧导入表中

    我想将完整的数据帧导出到已在数据库 postgresql 中创建并包含类似数据的表中 我发现一些关于 dbwrite 表的问题 overwrite TRUE 我不想覆盖表中已经存在的数据 我只想使用 r 控制台中的数据框更新我的表 有人可以
  • Angular 2 ngFor - 使用索引逆序输出

    尝试学习一些有关 Angular 2 中的过滤和排序的知识 我似乎找不到任何像样的资源 并且我陷入了如何使用索引以相反的顺序排序 ngFor 输出的问题 我写了下面的管道 它一直给我错误 数组切片不是函数 Pipe name reverse
  • 无尽重复滚动背景

    我遇到了 AS3 和 AIR 的问题 我正在为带有飞机的智能手机开发一款横向卷轴游戏 我使用不同的背景作为图层 首先 我使用 GPU 并且仅使用位图 质量设置为低 因此 性能设置均适合智能手机使用 我使用绘图 API 将它们放入一个矩形中
  • 如何针对 gtk 3 库运行 javaFx 应用程序?

    如何强制 javaFx 应用程序使用 gtk3 库 我知道SWT允许设置SWT GTK3 1用于此目的的环境变量 javaFx 是否有类似的可能性 解决方法 新功能 8087516 对 Linux 上的 GTK 3 有条件支持 https
  • 使用 HTML 和 CSS 的复选框仅适用于 Outlook Web(不适用于桌面应用程序)

    在 Outlook Windows 桌面应用程序中 不支持复选框 因为它使用 MS Word 作为其渲染引擎 但是 在网络应用程序中 复选框可以工作并且我可以通过电子邮件发送网站吗 https www caniemail com searc
  • Node.js:如何限制HTTP请求大小和上传文件大小?

    我正在使用 Node js 和 Express 我想限制 HTTP 请求的大小 比方说 如果有人向我发送超过 2 MB 的 HTTP 请求 那么我会立即停止该请求 我看了代码 我想如果我改变核心 我可以做到 但是 有没有办法设置max re
  • 如何在 Silverlight BackgroundWorker 中运行批量 WCF 服务调用

    是否有任何现有的管道可以在 a 中批量运行 WCF 调用后台工作者 http msdn microsoft com en us library system componentmodel backgroundworker VS 95 asp
  • 哪个 Cassandra 分区器更好:Random 或 Murmur3(就吞吐量而言),它们之间有什么区别?

    分区器的选择会给我的 Cassandra 吞吐量和延迟带来什么差异 我已经检查了所有三个分区 我注意到的一件事是ByteOrdered分区器有开销 所以我不使用它 现在我有点分裂Random and Murmur3分区器 两者之间的主要区别
  • 我的 iOS 程序将自己宣传为什么 HTTP 用户代理?

    我为我的播客编写了一个应用程序 御宅族的播客 http otakunopodcast com 在应用程序的各个部分 我使用NSURLConnection 获取 RSS 源 UIWebView 显示网站内容 AVPlayer 从我们的 CDN
  • 包含图像的 div 底部的空间[重复]

    这个问题在这里已经有答案了 对于这个小提琴 为什么底部有一个空格div imageDiv JSFiddle http jsfiddle net 7Knyx 1 div div div img src http upload wikimedi
  • 如何使用 Python 识别 PDF 文件中的删除文本

    我想从 pdf 文件中仅提取删除线文本 我已经尝试过下面的代码 它正在使用我拥有的示例 pdf 文件 但它不适用于另一个我认为是扫描文件的 pdf 文件 有没有任何标准方法可以使用 python 从 pdf 文件中仅提取删除文本 任何帮助将
  • 如何防止浏览器在返回 Django 时重新填充表单数据

    我有一个 Django 表单 可以将数据提交到数据库 成功填写表单并提交数据后 表单将重定向到另一个页面 但是 当用户点击浏览器上的后退按钮时 数据就会返回 有没有办法防止数据返回 将其添加到您的 HTML 中 它将不会缓存 如果你想要 D
  • Dynamic_cast 是如何工作的?

    如果您有以下情况 class Animal class Bird public Animal class Dog public Animal class Penguin public Bird class Poodle public Dog
  • LinkedIn API 字段选择器

    我最近开始阅读和测试 LinkedIn 的 API 但在使用时遇到问题field selectors 我的目标是使用 API 获取有关人员的信息 例如名字 姓氏 当前公司和头衔 默认情况下 人员搜索 https developer link
  • 如何像alert()一样聚焦窗口/选项卡?

    如果在我的某些选项卡中执行了alert 那么该选项卡将立即被选中 问题是 这个alert 框很丑 我已经用我的设计和所有内容创建了 但是当我调用它时 选项卡未被选择 聚焦 窗口 焦点 不起作用 有任何想法吗 您无法可靠地强制窗口或选项卡获取
  • 使用 openpyxl 用颜色填充单元格?

    我目前正在使用 openpyxl v2 2 2 for Python 2 7 我想为单元格设置颜色 我使用了以下进口 import openpyxl from openpyxl import Workbook from openpyxl s
  • 开始使用 .NET - ASP.NET、WPF、Silverlight 还是命令行 C#?

    如果有人开始使用 NET 框架 最可行的模板是什么 我所说的可行是指具有最低学习曲线和最高收益的方法 从 开始 命令提示符应用程序 在 C 中 使用 ASP NET 的 Web 应用程序 XAML C 中的 Silverlight 应用程序