Visual Basic .NET 控制台编程入门实战:基于 learnxinyminutes-docs 的完整代码教程

📅 发布时间:2026/10/10 17:59:28
Visual Basic .NET 控制台编程入门实战:基于 learnxinyminutes-docs 的完整代码教程
文档教程【免费下载链接】learnxinyminutes-docsCode documentation written as code! How novel and totally my idea!项目地址https://gitcode.com/gh_mirrors/le/learnxinyminutes-docs点击查看免费下载本教程以仓库内 zh-cn/visualbasic.md 为核心蓝本通过一个可完整运行的 VB.NET 控制台示例程序循序渐进地讲解注释、模块与子程序、控制台输入输出、变量与数据类型、算术运算、Do While/For循环以及If/ElseIf多分支条件判断等核心语法。读完本文你将掌握如何用 Visual Basic .NET 编写一个带导航菜单、可交互、可反复运算的完整控制台应用并理解每条语法在真实程序中的用途与常见陷阱。文档定位与运行环境本仓库learnxinyminutes-docs的定位是用代码本身来书写代码文档——每篇语言教程都是一份可直接复制运行的、带详尽注释的合法源代码相关理念见 README.md。中文版 Visual Basic 教程位于 zh-cn/visualbasic.md其 frontmatter 记录了原作者 Brian Martin 与译者信息CONTRIBUTING.md 与 lint/frontmatter.py 则说明了这类文档的格式约定与元数据校验方式name、contributors、translators、filename等字段。原文档末尾的说明是运行本文所有代码的前提所有代码均已通过测试只需复制粘贴到 Visual Basic.NET中按F5即可运行教程依托的是**控制台应用程序Console Application**项目模板——作者特意强调在命令行下学习 VB 有助于理解程序编译运行机制也让后续学习其他语言变得更轻松。本文讨论的语法以 Visual Basic .NET 为基础代码块标注语言为vbnet。如果你本地没有 IDE也可以对照 英文原版、德语版、西班牙语版、俄语版 等同一教程的多语言版本交叉阅读它们的代码结构完全一致仅注释语言不同。程序骨架Module 与 Sub整个教程示例是一个典型的 VB.NET 控制台程序最外层结构如下Module Module1 Sub Main() ...主程序代码... End Sub 使用 Private Sub 声明独立的程序块子过程 Private Sub HelloWorldOutput() ... End Sub ...其余 Private Sub... End Module几个关键点Module Module1...End ModuleVB.NET 中模块Module是组织代码的容器类似其他语言的类但更轻量。控制台程序的入口必须放在模块内。Sub Main()程序入口点运行时从Main开始执行。Private Sub 名称()...End Sub用Private Sub把程序划分成多个独立小节教程注释里明确写着 We use private subs to separate different sections of the program。Private表示该子过程只在当前模块内可见外部无法调用。这种一个Main做导航分发、若干Private Sub各司其职的组织方式是后续 9 个功能示例得以有条理展开的骨架。注释一切从单引号开始VB 的注释以半角单引号开头注意不是全角引号’从到行尾的内容都会被编译器忽略。中文版特意在开头提醒了这一易错点 让我们先从简单的终端程序学起。 单引号用来生成注释注意是半角单引号非全角单引号’教程的每个示例都大量使用行内注释解释代码意图例如Console.WriteLine(NAVIGATION) 显示目录这是本项目文档的核心风格——CONTRIBUTING.md 中的风格指南也强调用示例而非文字说明Prefer example to exposition即代码本身就是最好的讲解。导航菜单控制台输出与 Select Case 的第一次实战教程用一个目录导航系统作为Main的主体让你在运行程序时直接输入数字跳转到对应的功能示例。它集中演示了控制台编程最常用的一组 APISub Main() 让我们先从简单的终端程序学起。 Console.Title (Learn X in Y Minutes) Console.WriteLine(NAVIGATION) 显示目录 Console.WriteLine() Console.ForegroundColor ConsoleColor.Green Console.WriteLine(1. Hello World Output) Hello world 输出示例 Console.WriteLine(2. Hello World Input) Hello world 输入示例 Console.WriteLine(3. Calculating Whole Numbers) 求整数之和 Console.WriteLine(4. Calculating Decimal Numbers) 求小数之和 Console.WriteLine(5. Working Calculator) 计算器 Console.WriteLine(6. Using Do While Loops) 使用 Do While 循环 Console.WriteLine(7. Using For While Loops) 使用 For While 循环 Console.WriteLine(8. Conditional Statements) 条件语句 Console.WriteLine(9. Select A Drink) 选饮料 Console.WriteLine(50. About) 关于 Console.WriteLine(Please Choose A Number From The Above List) Dim selection As String Console.ReadLine Select Case selection Case 1 Hello world 输出示例 Console.Clear() 清空屏幕 HelloWorldOutput() 调用程序块 Case 2 Hello world 输入示例 Console.Clear() HelloWorldInput() Case 3 求整数之和 Console.Clear() CalculatingWholeNumbers() Case 4 求小数之和 Console.Clear() CalculatingDecimalNumbers() Case 5 计算器 Console.Clear() WorkingCalculator() Case 6 使用 do while 循环 Console.Clear() UsingDoWhileLoops() Case 7 使用 for while 循环 Console.Clear() UsingForLoops() Case 8 条件语句 Console.Clear() ConditionalStatement() Case 9 If/Else 条件语句 Console.Clear() IfElseStatement() 选饮料 Case 50 关于本程序和作者 Console.Clear() Console.Title (Learn X in Y Minutes :: About) MsgBox(This tutorial is by Brian Martin (BrianMartinn) Console.Clear() Main() Console.ReadLine() End Select End Sub这段代码值得逐行拆解语句作用Console.Title ...设置控制台窗口标题栏文字Console.WriteLine(...)输出一行文本并换行是控制台最常用的输出方法Console.ForegroundColor ConsoleColor.Green设置后续输出的前景色为绿色属于Console类的枚举属性Console.ReadLine读取用户输入的一整行这里用于接收菜单选项Select Case selection/Case 1/End SelectVB 的多分支选择结构根据selection的值跳转到对应分支Console.Clear()清空控制台屏幕保证每个示例在干净的环境中运行HelloWorldOutput()调用后续定义的Private Sub实现导航→功能的跳转MsgBox(...)弹出 Windows 消息框区别于控制台输出用于关于分支两个容易被忽视的细节Select Case中的Case关键字是可选的。英文原版 visualbasic.md 中明确注释写成Select selection省略Case同样可以工作。这是 VB 语法灵活性的体现。Case 50分支调用Main()重新显示菜单实际上形成了一种返回主菜单的效果而菜单选项6Do While 循环会在运行结束后让用户自己决定是否继续两种交互模式形成了对照。输入与输出基础Hello World 输出 / 输入输出示例 一、对应程序目录1下同 使用 private subs 声明函数。 Private Sub HelloWorldOutput() 程序名 Console.Title Hello World Output | Learn X in Y Minutes 使用 Console.Write() 或者 Console.WriteLine() 来输出文本到屏幕上 对应的 Console.Read() 或 Console.Readline() 用来读取键盘输入 Console.WriteLine(Hello World) Console.ReadLine() Console.WriteLine()后加Console.ReadLine()是为了防止屏幕输出信息一闪而过 类似平时常见的单击任意键继续的意思。 End Sub要点Console.WritevsConsole.WriteLine前者输出后不换行后者输出后自动换行。在编写请输入数字这类提示语时用Write更自然光标停留在冒号后。Console.ReadLine()的双重用途既可以读取用户输入也可以单纯暂停程序直到用户按回车。教程特意解释输出后紧跟一个ReadLine()是为了防止信息一闪而过等价于其他语言常见的Press any key to continue。输入示例 二 Private Sub HelloWorldInput() Console.Title Hello World YourName | Learn X in Y Minutes 变量 用来存储用户输入的数据 变量声明以 Dim 开始结尾为 As VariableType 变量类型. 此教程中我们希望知道你的姓名并让程序记录并输出。 Dim username As String 我们定义username使用字符串类型String来记录用户姓名。 Console.WriteLine(Hello, What is your name? ) 询问用户输入姓名 username Console.ReadLine() 存储用户名到变量 username Console.WriteLine(Hello username) 输出将是 Hello username Console.ReadLine() 暂停屏幕并显示以上输出 以上程序将询问你的姓名并和你打招呼。 其它变量如整型Integer我们用整型来处理整数。 End Sub这里引入了 VB 最重要的变量语法声明以Dim开头以As 变量类型结尾例如Dim username As String。字符串String用于存储文本后续示例还会用到Integer整型与Double双精度浮点数。整个流程是询问 → 读取 → 拼接输出是人机交互的最小完整闭环。变量与数值计算Integer 与 Double整数求和 三 Private Sub CalculatingWholeNumbers() Console.Title Calculating Whole Numbers | Learn X in Y Minutes Console.Write(First number: ) 输入一个整数1250104等等 Dim a As Integer Console.ReadLine() Console.Write(Second number: ) 输入第二个整数 Dim b As Integer Console.ReadLine() Dim c As Integer a b Console.WriteLine(c) Console.ReadLine() 以上程序将两个整数相加 End Sub这里示范了声明与赋值合一的写法Dim a As Integer Console.ReadLine()ReadLine()返回的文本被直接存入整型变量a隐式类型转换随后c a b完成加法并输出。小数求和 四 Private Sub CalculatingDecimalNumbers() Console.Title Calculating with Double | Learn X in Y Minutes 当然我们还需要能够处理小数。 只需要要将整型Integer改为小数Double类型即可。 输入一个小数 1.2 2.4 50.1 104.9等等 Console.Write(First number: ) Dim a As Double Console.ReadLine Console.Write(Second number: ) 输入第二个数 Dim b As Double Console.ReadLine Dim c As Double a b Console.WriteLine(c) Console.ReadLine() 以上代码能实现两个小数相加 End Sub教程用一句注释点出了类型选型的核心思想要处理小数只需把Integer换成Double。Double是双精度浮点类型足以覆盖 1.2、2.4、50.1 这类日常小数运算Integer只能表示整数。这是 VB 中按需选择数据类型的最直观示范。综合计算器四则运算、类型转换与 PadLeft 五 Private Sub WorkingCalculator() Console.Title The Working Calculator| Learn X in Y Minutes 但是如果你希望有个能够处理加减乘除的计算器呢 只需将上面代码复制粘帖即可。 Console.Write(First number: ) 输入第一个数 Dim a As Double Console.ReadLine Console.Write(Second number: ) 输入第二个数 Dim b As Integer Console.ReadLine Dim c As Integer a b Dim d As Integer a * b Dim e As Integer a - b Dim f As Integer a / b 通过以下代码我们可以将以上所算的加减乘除结果输出到屏幕上。 Console.Write(a.ToString() b.ToString()) 我们希望答案开头能有3个空格可以使用String.PadLeft(3)方法。 Console.WriteLine( c.ToString.PadLeft(3)) Console.Write(a.ToString() * b.ToString()) Console.WriteLine( d.ToString.PadLeft(3)) Console.Write(a.ToString() - b.ToString()) Console.WriteLine( e.ToString.PadLeft(3)) Console.Write(a.ToString() / b.ToString()) Console.WriteLine( e.ToString.PadLeft(3)) Console.ReadLine() End Sub这一段浓缩了本教程最多的工具方法知识点四则运算符加、*乘、-减、/除一次集齐a.ToString()把数值变量显式转换为字符串以便与控制台输出的文本拼接VB 中连接字符串String.PadLeft(3)字符串方法在左侧补齐空格到指定宽度教程用它让答案开头有 3 个空格让多行结果在视觉上对齐。需要特别提醒的类型混用陷阱中文版此处在声明b、c、d、e、f时使用了Integer而a是Double——在启用Option Strict的工程里Double与Integer混用赋值可能触发类型不匹配错误且除法结果f若存入Integer会丢失小数部分。对照英文原版 visualbasic.md 可以看到原版此处的b~f全部声明为Double。实操建议把所有操作数与结果统一声明为Double既避免类型转换问题也能正确保留小数结果。另外中文版第 157 行除法行输出的是e减法结果而非f除法结果应参照英文原版改为f.ToString.PadLeft(3)否则显示会与算式不符——这正是对照多语言版本阅读的价值所在。循环Do While 与 For ... NextDo While让计算器可以反复使用 六 Private Sub UsingDoWhileLoops() 如同以上的代码一样 这次我们将询问用户是否继续 Yes or No?) 我们将使用Do While循环因为我们不知到用户是否需要使用一次以上。 Console.Title UsingDoWhileLoops | Learn X in Y Minutes Dim answer As String 我们使用字符串变量来存储answer答案 Do 循环开始 Console.Write(First number: ) Dim a As Double Console.ReadLine Console.Write(Second number: ) Dim b As Integer Console.ReadLine Dim c As Integer a b Dim d As Integer a * b Dim e As Integer a - b Dim f As Integer a / b Console.Write(a.ToString() b.ToString()) Console.WriteLine( c.ToString.PadLeft(3)) Console.Write(a.ToString() * b.ToString()) Console.WriteLine( d.ToString.PadLeft(3)) Console.Write(a.ToString() - b.ToString()) Console.WriteLine( e.ToString.PadLeft(3)) Console.Write(a.ToString() / b.ToString()) Console.WriteLine( e.ToString.PadLeft(3)) Console.ReadLine() 询问用户是否继续注意大小写。 Console.Write(Would you like to continue? (yes / no)) 程序读入用户输入 answer Console.ReadLine() added a bracket here 当用户输入yes时程序将跳转到Do并再次执行 Loop While answer yes End Sub这是循环概念的首次登场教程注释给出了选用Do While的决策理由因为我们不知道用户是否需要使用一次以上。语法结构为Do...Loop While 条件先执行一次循环体再判断条件——属于直到型循环保证循环体至少执行一次非常适合先运算、再询问是否继续的交互模式当用户输入yes时条件answer yes为真程序跳回Do重新执行输入其他任何内容则退出循环。两个值得注意的点其一教程注释明确提示比较是区分大小写的case sensitive输入Yes或YES都不会触发继续这是字符串相等比较的常见行为其二中文版此处与计算器小节同样存在Integer/Double混用与除法输出e的问题建议统一改为Double并让除法行输出f。For ... Next定次数的倒数计数 七 Private Sub UsingForLoops() 有一些程序只需要运行一次。 这个程序我们将实现从10倒数计数. Console.Title Using For Loops | Learn X in Y Minutes 声明变量和Step (步长,即递减的速度如-1-2-3等。 For i As Integer 10 To 0 Step -1 Console.WriteLine(i.ToString) 将计数结果输出的屏幕 Next i 计算新的i值 Console.WriteLine(Start) Console.ReadLine() End Sub与Do While相对的是已知循环次数时使用的For循环For i As Integer 10 To 0 Step -1声明循环变量i从 10 开始到 0 结束每次递减 1Step -1Next i结束本次迭代并计算新的i值教程注释说明Step是步长即递减速度可以自由改为-2、-3等。运行结果是在屏幕上依次打印 10、9、8、…、1、0最后输出Start。这一段与上一段形成了完美对照需要至少跑一次并靠用户决定是否继续用Do While需要精确控制次数、按固定步长推进用For ... Next。条件分支If/Else 与 ElseIf 多分支二分支判断 八 Private Sub ConditionalStatement() Console.Title Conditional Statements | Learn X in Y Minutes Dim userName As String Console.ReadLine Console.WriteLine(Hello, What is your name? ) 询问用户姓名 userName Console.ReadLine() 存储用户姓名 If userName Adam Then Console.WriteLine(Hello Adam) Console.WriteLine(Thanks for creating this useful site) Console.ReadLine() Else Console.WriteLine(Hello userName) Console.WriteLine(Have you checked out www.learnxinyminutes.com) Console.ReadLine() 程序停止并输出以上文本 End If End Sub语法要点If 条件 Then...Else...End IfVB 的条件分支结构。条件为真执行Then与Else之间的语句为假执行Else之后的语句这里的判断对象是字符串userName用于字符串相等比较针对不同用户输出不同欢迎语。顺带一提中文版此处在Console.ReadLine赋值前就声明了Dim userName As String Console.ReadLine先读取了一次输入而英文原版是先声明空变量、再提示、再读取。从英文原版 visualbasic.md 的写法看更稳妥的顺序是先输出提示 → 再ReadLine()赋值避免程序在提示出现前就阻塞等待输入。多分支ElseIf 与自动售货机场景 九 Private Sub IfElseStatement() Console.Title If / Else Statement | Learn X in Y Minutes 有时候我们需要考虑多于两种情况。 这时我们就需要使用If/ElesIf条件语句。 If语句就好似个自动售货机当用户输入A1A2A3等去选择物品时 所有的选择可以合并到一个If语句中 Dim selection As String Console.ReadLine() 读入用户选择 Console.WriteLine(A1. for 7Up) A1 七喜 Console.WriteLine(A2. for Fanta) A2 芬达 Console.WriteLine(A3. for Dr. Pepper) A3 胡椒医生 Console.WriteLine(A4. for Diet Coke) A4 无糖可乐 Console.ReadLine() If selection A1 Then Console.WriteLine(7up) Console.ReadLine() ElseIf selection A2 Then Console.WriteLine(fanta) Console.ReadLine() ElseIf selection A3 Then Console.WriteLine(dr. pepper) Console.ReadLine() ElseIf selection A4 Then Console.WriteLine(diet coke) Console.ReadLine() Else Console.WriteLine(Please select a product) 请选择你需要的产品 Console.ReadLine() End If End Sub当判断的分支超过两个时If / ElseIf / Else是比嵌套多个独立If更优雅的写法。教程用自动售货机作类比用户输入商品代码A1~A4程序从上到下依次比对命中则输出对应商品名全部未命中则落入Else输出提示语。这种所有选择合并到一个 If 块的组织方式与开头导航菜单中Select Case的用法互为补充——Select Case适合按离散值分发If / ElseIf适合需要逐条求值条件表达式的场景。从源码结构看教程的组织方式与可读性保障作为 learnxinyminutes-docs 的一部分这篇教程严格遵守仓库的文档规范这些规范本身就是可读性与可维护性的保障frontmatter 元数据文件头部以 YAML 记录了contributors作者与translators译者lint/frontmatter.py 中的validate_yaml_keys会校验这些字段的类型与格式例如contributors必须是[作者, URL]形式的列表风格指南CONTRIBUTING.md 要求代码行尽量不超过 80 字符、优先用示例而非文字解释、保持文章简洁可扫读——这正是本教程一个大代码块 行内注释形式的由来多语言对照同一教程以 visualbasic.md 为英文原本另有 de/visualbasic.md、es/visualbasic.md、ru/visualbasic.md 等翻译版本。对照阅读不仅能帮助理解语法还能像上文那样发现各版本之间细微的代码差异。小结与下一步沿着这份教程你已经依次掌握了 VB.NET 控制台编程的主干语法程序组织ModuleSub MainPrivate Sub的模块化拆分注释半角单引号输入输出Console.Write/WriteLine/ReadLine/Read、Clear、ForegroundColor、MsgBox变量Dim 变量名 As 类型字符串String、整型Integer、双精度Double运算与格式化四则运算、ToString()、PadLeft()循环Do ... Loop While至少执行一次、按条件续跑与For ... Next ... Step定次数、定步长分支If / Else / End If与If / ElseIf / Else多分支。原文档末尾还提到作者是在命令行环境下学习 VB 的并推荐了更深入层次的英文 VB 教学资源外部站点此处不再展开。无论你接下来是继续阅读仓库内其他语言教程如 zh-cn/csharp.md、zh-cn/python.md以横向对比语法还是把本示例改造成带错误处理、菜单循环的真实小工具本文的代码都可以直接作为起点——复制进 Visual Studio 的控制台项目按F5运行边改边跑就是学习 VB 最快的路径。赞分享文档教程【免费下载链接】learnxinyminutes-docsCode documentation written as code! How novel and totally my idea!项目地址https://gitcode.com/gh_mirrors/le/learnxinyminutes-docs点击查看免费下载相关推荐Visual Basic 控制台应用实战入门以 learnxinyminutes-docs 俄文版教程为核心的完整代码精讲Visual Basic 控制台应用实战入门以 learnxinyminutes docs 俄文版教程为核心的完整代码精讲 本篇技术指南以本仓库中的俄文版 V文档教程Visual Basic 控制台应用入门learnxinyminutes-docs 仓库 es/visualbasic.md 教程深度解析Visual Basic 控制台应用入门learnxinyminutes docs 仓库 es/visualbasic.md 教程深度解析 本文以 learn文档教程Bash 入门与实战指南基于 learnxinyminutes-docs 的 GNU Bash 完整教程Bash 入门与实战指南基于 learnxinyminutes docs 的 GNU Bash 完整教程 本指南以 learnxinyminutes docs文档教程上一篇5倍性能提升免费德州扑克GTO求解器TexasSolver终极使用指南下一篇B站视频下载神器BilibiliDown告别缓冲轻松收藏每一份精彩创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考