gpt4 book ai didi

WPF-XAML-C#-C++-如此困惑

转载 作者:行者123 更新时间:2023-12-04 22:50:30 25 4
gpt4 key购买 nike

我希望有人可以提供帮助,我是计算机编程的初学者,并且已经购买了一本书(Visual Basic - Step by Step),直到我在互联网上阅读了一篇关于 Windows Presentation Foundation (WPF) 的文章之前,我都取得了很好的进展 - 显然是这个 future 。

我阅读了 Xaml,发现语法非常难以理解,例如我一直在使用以下格式进行编码:

texbox1.text = "Hello World!"

但是,我在 Xaml 上阅读的指南显示 .cs 文件中的编码如下:
<Grid>
<TextBlock Text="Hello World!" />
</Grid>

我对我应该学习哪种“语言”感到困惑!

我希望有人能对此有所了解。

非常感谢

最佳答案

编程有很多方面,对于初学者来说,它肯定会很快变得势不可挡。首先,让我们澄清几个术语:

VB (Visual Basic)、C# 和 C++(在你的标题中提到)都是 high-level programming languages.假设当您说 Visual Basic 时您指的是 VB.NET(这很可能,除非您正在阅读的书是十年前的……),VB 和 C# 都是可以与 Microsoft 的 .NET Framework 一起使用的语言。 ,一组用于构建(主要是 Windows)应用程序的库和工具。

(同时,C++ 是一种稍微低级的语言,不直接连接到 .NET。它需要了解 .NET 语言对您隐藏的某些概念,例如 pointers and memory management。)

现在,上面提到的编程语言不依赖于特定的表示技术——有很多方法可以创建交互式程序,这些程序可以向用户显示输出并接受输入,而不管您使用哪种语言。但是,.NET 语言通常与 .NET Framework 提供的用于创建图形应用程序的几个强大工具一起使用:

  • 在最简单的用户界面方法中,您可以创建 console program它接受键入的输入并在系统控制台上生成文本输出。这里没什么好看的。
  • Windows Forms - 最初随 Visual Basic 的 pre-.NET 版本一起提供,这是原生 Windows 用户界面的古老 API。它主要由包含控件的 Form 对象驱动,并由用户事件驱动。 Here is a primer.
  • WPF (Windows Presentation Foundation)是比 Windows 窗体更新的技术。它与上面显示的类似 XML 的文件格式一起使用,称为 XAML (eXtensible Application Markup Language)它允许您通过快速声明视觉对象的层次结构来构建用户界面。构建 WPF 应用程序的学习曲线(在我看来)比 Windows Forms 略高,但它是一种更通用的技术,可以更好地支持几种好的设计模式(我知道这是手动的,但请相信我的话目前)。

  • 因此,要澄清一些混淆点:
  • 您使用的编程语言和构建图形用户界面的框架是两个不同的选择。
  • VB.NET 和 C# 均可用于编写 Windows 窗体或 WPF 应用程序的底层逻辑
  • WPF(图形子系统)和 XAML(声明性标记语言)不是一回事,但它们相互配合使用。
  • 创建 WPF 控件时,您将有一个包含 XAML(以 .xaml 为后缀)的文件,该文件附加到包含 C#(具有 .cs 扩展名)或 VB(具有 .vb 扩展名)的“代码隐藏”文件,具体取决于您选择哪种语言。

  • 一般来说,.NET 程序员(这是我举的一个简单的例子,因为我碰巧是这样的人)将使用 VB 或 C#,这取决于他/她最喜欢什么(或者他们的团队要求什么!)特别是从初学者的角度来看,两者具有不同的语法,但在功能上是等效的。我个人更喜欢 C#,因为它与我学习编程的语言(Java 和 C)相似。

    现在,无论使用何种语言,程序员都会为手头的项目选择合适的用户界面技术。对于在 Windows 上运行的图形应用程序,我相信 WPF 是一项可以击败的技术(特别是因为它与 Silverlight 非常相似,后者可用于针对 Web 和 Windows Phone)。

    我希望至少开始清理一个非常复杂但可导航的主题的过程!我已经在上面链接过一次,但请查看 Microsoft's Beginner Developer Center作为另一种让您站起来的资源。祝你好运!

    关于WPF-XAML-C#-C++-如此困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874608/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com