尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

C#零基础入门:Visual Studio 2019环境配置与第一个控制台程序

C#零基础入门:Visual Studio 2019环境配置与第一个控制台程序 很多同学第一次下载Visual Studio 2019装完之后对着满屏的英文菜单和密密麻麻的按钮第一反应是怀疑自己是不是开错了软件。我当年也这样。这种反应很正常因为VS确实是个体量很大的工具但“大”不代表你要全部学会——你只需要先把其中最核心的一小块跑通就能写出第一个C#程序了。这篇文章就是你的C#编程第一课。内容非常务实从认识Visual Studio 2019开始搞清楚cs文件里面那几行默认代码到底在说什么学会新建和打开项目文件亲手敲下两句最简单的语句——打印一行文字、等待一个按键再搞清楚运行程序之前要做什么、运行之后看到了什么最后教你显示行号和设置字体这两个能显著提升舒适度的开发环境配置。等你把这套流程完整走一遍对“用C#写软件”这件事就会有一个清晰的整体印象。这篇内容适合完全零基础的新手也适合那些之前断断续续看过语法、但始终没把“写代码—运行—看到结果”这条链路跑通的朋友。如果你正准备学C#做上位机开发、桌面工具或者Unity游戏脚本第一课从这里开始没有错。1. 第一课为什么选C#和Visual Studio 20191.1 C#到底是什么为什么学它的人这么多C#是微软推出的一门面向对象编程语言语法设计得干净利落学习曲线在编程语言里算是相当平缓的。它最吸引人的地方在于应用场景极宽桌面软件、Web后端、游戏开发、工控上位机、自动化脚本甚至大数据处理C#都能参与。尤其是很多做自动化设备和工业生产的朋友第一门学的语言就是C#因为用Visual Studio写.Windows窗体程序或者WPF界面开发效率确实很高拖拖控件、写点逻辑一个工具就出来了。而且C#背后有微软官方持续维护有NuGet这样的成熟包管理平台还有庞大的中文社区积累。你在网上搜一个问题基本都能找到对应的解决方案。对刚入门的人来说生态成熟本身就是巨大的优势——至少卡壳的时候你不会孤立无援。1.2 Visual Studio 2019不是唯一选择但绝对是最省心的选择写C#可以用的工具不少有Visual Studio Code加插件、有Rider还有单纯用文本编辑器配合命令行编译的。但如果你是零基础入门我强烈建议第一门课使用Visual Studio 2019。原因很简单它是真正的“集成开发环境”把代码编辑、语法检查、编译、运行、调试这一整套流程都集成在一个窗口里不需要你额外去配编译器、配环境变量、记命令行。你在写代码的同时VS会实时帮你检查语法错误画波浪线提示甚至还能在你敲到一半的时候弹出补全建议。这种即时反馈对新手太重要了。我自己带过不少朋友入门凡是先在VS里跑通的后面再接触其他工具普遍都很轻松反过来一上来就跟命令行纠结的朋友很容易在环境配置阶段就被劝退了。1.3 安装Visual Studio 2019时的几个关键选项装VS 2019并不复杂主要去微软官网下个安装器然后勾选工作负载。入门阶段建议大家只勾选一个“使用.NET的桌面开发”。你会看到很多其他选择比如“ASP.NET和Web开发”“使用C的桌面开发”第一课用不到不勾选反而能让安装体积小一些启动也更快。NET桌面开发这个选项已经把编译器和C#相关工具链都打包进去了装上它你就有了跑C#控制台程序的一切条件。还有个小提示安装器的“单个组件”标签页里会有各种选项新手先不要碰保持默认就好。装完之后它会要求重启别嫌麻烦重启一次能让环境变量和各种服务正常加载。2. 从打开软件到建出第一个项目2.1 首次启动Visual Studio 2019的配置第一次启动VS 2019它会让你选择开发设置和主题颜色。开发设置里选“Visual C#”这样窗口布局和默认快捷键都会贴合C#开发习惯颜色看你喜欢深色在晚上写代码确实会舒服一些但浅色在屏幕反光的环境里更清楚。选哪一个都不影响功能后期随时可以在“工具→选项”里改。登录微软账号那一步可以跳过本地用完全没问题。首次启动还会有一个“初始化环境”的过程可能出现几十秒的白屏或者转圈这不是卡死了是在加载组件耐心等即可。我第一次用的时候以为程序崩了还强行关掉重开过结果反而拖慢进度。2.2 新建项目模板怎么选流程怎么走启动完成后你看到的是VS的起始页。创建项目的入口有两个起始页上的“创建新项目”或者菜单栏“文件→新建→项目”。点击之后会弹出一个模板选择窗口初学者很容易被一大堆项目类型搞晕。别慌在搜索框里输入“控制台”选择“控制台应用(.NET Framework)”或者“控制台应用(.NET Core)”的模板。这两个模板的区别在于目标框架版本入门阶段不用深究。如果你装的是VS 2019选“控制台应用(.NET Core)”就是比较现代的选择后续学习也跟得上。项目名称起一个有意义的名字比如“HelloWorld”再选一个你记得住的存放位置然后点创建。系统会自动为你生成一个完整的、可以直接运行的项目——你不用改任何代码直接按F5就能看到效果。很多新手看到这里会怀疑程序有问题其实不是它只是把你该写的Hello World先写好了而已。2.3 打开项目文件sln、csproj和cs文件的区别在项目创建完以后建议你打开资源管理器去项目存放目录里看看你会看到好几种文件。以“.sln”结尾的是解决方案文件它是整个解决方案的入口双击它就能用VS重新打开你的完整项目。以“.csproj”结尾的是C#项目文件里面记录了项目使用什么框架、引用了哪些包、包含哪些源代码文件。而以“.cs”结尾的文件才是你真正写代码的地方。这里有个新手特别容易犯的错误想“打开项目”的时候直接双击了“.cs”文件结果打开的只是单个代码文件左边程序资源管理器里看不到项目结构代码里的引用关系也不好使。正确做法是始终通过“.sln”解决方案文件进入项目。另外项目目录里还会出现“bin”和“obj”两个文件夹看起来神秘其实是编译过程中自动生成的临时产物你不需要编辑它们也尽量不要去删让程序自己管理就行。3. cs文件里的代码到底在说什么3.1 默认代码逐行拆解新建项目后VS会自动打开一个名为“Program.cs”的代码文件里面已经有几行初始代码了。很多教程会直接让你删掉重写但我建议你先看懂它再动手。第一行是“using System;”它的作用是声明这个文件要使用System命名空间里的功能。你可以把“System”想象成一个工具箱里面放着一大堆常用工具比如向屏幕输出文字的能力。有了这行声明你才能直接写Console.WriteLine没有它你每次都得完整写出System.Console.WriteLine非常啰嗦。接下来是“namespace HelloWorld”这行声明了一个命名空间。命名空间的作用是给代码划分区域防止不同项目中同名类互相冲突。再往下是“class Program”它声明了一个类。C#是面向对象语言代码基本上都要写在某个类里面。而Program就是你这个程序的类名。然后是“static void Main(string[] args)”这是整个程序的入口也叫主方法。你启动程序时C#会第一个执行Main方法里面的代码。其他方法可以被调用、被跳过但Main是程序的起点。static表示这个方法属于类本身void表示它不返回任何值括号里的string[] args是用来接收命令行参数的第一课暂时用不到知道它是“入口”就够了。3.2 两句最简单的语句Console.WriteLine和Console.ReadKey对初学者来说你有两句话值得第一时间记牢它们几乎是所有控制台程序的起点。第一句是“Console.WriteLine(内容);”作用是在控制台窗口里输出一行文字并换行。双引号里的内容会被原样打印出来。你可以在括号里写文字也可以放变量第一课先写死字符串就行。第二句是“Console.ReadKey();”作用是让程序等待用户按下一个按键。它特别适合放在程序末尾效果是让那个黑乎乎的控制台窗口停住不会一闪而过。如果你不加这句话程序执行完会立刻关闭窗口结果你还没来得及看窗口就消失了。很多新手以为程序错了其实不是只是因为速度太快没看到输出。我见过很多人把这两句记混其实特别好区分WriteLine是“往外面写”ReadKey是“从键盘读”。一个向外一个向内方向完全相反。3.3 分号、花括号和缩进为什么不能乱来C#语法里有三个符号看着不起眼但非常重要分号;、花括号{}和缩进。分号表示一条语句的结束。C#把分号当成“这句话说完了”的句号。你可能默认以为换行就算一句结束实际不是C#不认换行只认分号。写代码不写分号是新手最容易犯的编译错误之一。花括号用来把多条语句归成一个代码块。比如Main方法的内容要放在一对花括号里类的内容也要用花括号包住。花括号必须成对出现前花括号和后花括号可以理解为“开始”和“结束”。VS有个贴心功能当光标停留在一个花括号上时它会高亮显示配对的另一个花括号方便你检查是否漏写。缩进虽然不影响程序运行但强烈建议用Tab键对齐。缩进能让代码结构一目了然类里包含方法方法里包含语句谁套着谁一眼就能看清楚。试想一下一篇文章没有段落全挤在一起读起来会很崩溃代码也是一样。4. 运行前要做什么运行后能看到什么4.1 运行前的三个检查很多同学写了两行语句就急着点“运行”结果弹出一堆看不懂的报错。其实运行前花半分钟检查三件事能省下大把排查时间。第一检查代码文件是否已经保存。VS默认会帮你自动保存部分操作但如果你手动修改过代码又没有按CtrlS运行的可能还是旧版本。养成随时CtrlS的习惯没有坏处。第二检查有没有红色波浪线。VS会在语法错误的地方画红色波浪线鼠标悬停会显示错误原因。不用逐条看懂英文提示先看到红色就去找大概率是少写了分号、引号没闭合或者括号不匹配。第三确认你选中的是“启动项目”。在解决方案资源管理器里当前项目的名称会加粗显示顶部工具栏上也有一个绿色开始按钮。如果界面上显示的其他项目程序会启动错对象。第一课只有一个项目很少碰到这个问题但养成看喷气式按钮上项目名的习惯后面学习多项目结构时就会受益匪浅。4.2 两种运行方式F5和CtrlF5不一定全都必要你可以通过几种方式运行程序但效果不一样。“F5”键是“开始调试”它会用调试模式启动程序。什么是调试模式就是程序运行时你可以暂停、逐行执行、观察变量数值是开发阶段排查逻辑错误的利器。另一组是“CtrlF5”它表示“开始执行(不调试)”也就是直接启动程序不挂调试器。对第一课来说我建议先使用“CtrlF5”来看运行结果因为调试模式在程序正常退出之后会显示“按任意键继续”的提示而直接执行模式会等程序自己跑完。更重要的原因是调试模式会额外加载一些东西如果没有断点内存中多一层监控反而会让程序表现和直接执行不完全一样。随着学习深入你迟早要拥抱调试器但第一课先把“程序能跑、结果能看”这个闭环跑通心态会稳很多。4.3 运行结果到底看到了什么点了“CtrlF5”之后一个黑色背景的控制台窗口会弹出来里面显示的是你WriteLine语句输出的文字。比如你写的是“Console.WriteLine(你好C#!);”窗口里就会显示“你好C#!”紧接着光标停在下一行因为你用了Console.ReadKey()等待输入。这时候随便按一个键程序结束窗口关闭。这里有两个地方要解释清楚。控制台窗口不是浏览器弹窗它是你的代码程序向操作系统申请的真实运行空间。你看到的黑色背景是控制台程序的默认配色不是错误提示。很多新手以为窗口是黑色的就代表出错了不是这就是正常的展示方式。另外窗口标题栏会显示可执行文件的路径你能看到它编译后生成到了哪个目录的bin文件夹下面这对后面理解编译部署很有帮助。如果你想自己写句子就把别人给的模板代码里那行“Console.WriteLine(Hello World!);”改成你自己的内容再运行一次你会看到变化。第一次看到自己的文字出现在程序窗口里这种感觉还挺奇妙的算是程序入门路上的第一个正反馈。5. 优化开发环境显示行号和设置字体5.1 三步显示行号写代码的时候窗口左侧有行号会非常方便尤其是报错的时候系统提示会告诉你“第几行出错了”没有行号就很难定位。设置方法很简单首先打开菜单栏的“工具”然后选择“选项”在选项窗口左侧展开“文本编辑器”选择“C#”最后在右侧勾选“行号”点击确定。就这三步你回到代码窗口会发现左侧多了一列数字这就是行号。如果你用的界面语言可能是英文对应的入口是“Tools→Options→Text Editor→C#→Line numbers”位置完全一样。行号默认会从1开始很多教程让新手对照错误提示时都会说“第9行有问题”这个行号就是依据。显示行号是一个环境设置不会进入代码文件你保存代码时也不会把行号写进去。5.2 推荐一套舒服的字体和字号VS 2019的默认字体和字号对小屏幕其实不算友好尤其是长期写代码的人不受劝的默认配置看久了眼睛容易酸。推荐大家到“工具→选项→环境→字体和颜色”里改一下。显示项选择“文本编辑器”字体选“Consolas”字号设成14或者16。Consolas是微软专门为代码显示设计的等宽字体每个字符的宽度一致代码对齐以后看起来特别规整。如果系统中没有也可以选“Courier New”或者“中文宋体”变体但Consolas调整后的效果我个人认为是最好的。字号可视你的屏幕而定笔记本13寸建议14外接大屏建议16再往上就有点占地方了。这个设置同样是环境级配置不影响程序运行结果。5.3 把你的工作区固定下来你把行号开了、字体调了还改了主题颜色。但你知道吗这些配置不用每次启动都重新设置一遍VS会把它们记录下来。如果你的电脑上登录了微软账号很多个性化设置还能同步到云端这样换电脑后也能一键恢复不用重新折腾。还有一个常见操作是误关面板。新手比较容易不小心把“解决方案资源管理器”或者“输出”窗口关掉然后一脸茫然地问“我的项目列表去哪了”。其实在菜单“视图”里可以随时找回来“视图→解决方案资源管理器”会重新打开。如果你把整个界面拖乱了也可以去“窗口→重置窗口布局”一键恢复默认排列。在这里分享一个小习惯我每次装完新环境第一件事就是调字号、开行号然后顺手把解决方案资源管理器固定到右侧。固定的方法是点面板右上角的图钉按钮它在图钉“自动隐藏”和“保持显示”之间切换。保持在显示状态你就不用来回滑动去找项目。6. 第一课最容易踩的坑6.1 新手常见错误速查表我会把第一课里遇到的典型问题能做个速查表这样你碰到报错随时可以查。现象常见原因窗口一闪就消失了程序执行完自动退出解决办法是在Main方法末尾加Console.ReadKey()红色波浪线出现在字符串里双引号没闭合或者字符串里缺少反斜杠转义编译报错提示缺少分号C#语句以分号结尾检查上一行结尾有没有“;”花括号不匹配大括号必须成对VS会自动配对高亮可用光标逐个检查点F5后弹出是否保存对话框代码有未保存修改选择“是”保存即可控制台输出中文变成乱码控制台编码问题入门阶段可以先把字符串改为英文或到工具→设置中把默认代码页改为UTF-8提示找不到主方法Main方法写错比如大小写不对或没有static和void检查入口方法签名是否正确以上每一条我都帮学生实际排查过尤其第一条“窗口闪退”是好多零基础朋友遇见的第一个劝退点。有时候你以为程序没跑起来其实是它跑得太快了。6.2 关于C#“能做什么”的一个诚实补充在学习C#的过程中很多人会在网上看到一些说法比如用C#做游戏辅助、写自动化工具等等。这个语言的能力疆域确实很宽能做正常软件也能做不走正道的工具。但作为过来人我得说句实在话学习阶段沉迷研究破坏游戏公平性的程序不仅容易把基础语法荒废掉还有违反用户协议、甚至涉及法律的风险。同样的语言能力和API放在工控上位机开发、办公自动化脚本、数据处理工具、Unity游戏玩法实现上既能练到技术又能做出有价值的东西。第一课第一节课你先把这行“Console.WriteLine(Hello World!);”跑明白把编程的正反馈建立起来后面自然会知道该往哪个方向深入。千万别一开始就想走捷径捷径往往绕远路。6.3 第一课跑通之后下一步学什么当你成功打印出“你好C#!”并且能熟练显示行号、设置字体接下来就该进入下一阶段了。第二个阶段建议学习变量和各种数据类型比如int、string、double知道怎么把数据存进内存里。第三阶段是流程控制也就是if判断和循环语句这部分掌握后你就能写出有逻辑的程序而不是从上到下平铺直叙。等这些基础打牢了再回头看Visual Studio的调试器它会成为你强有力的工具。调试器不是给老手开发的它恰恰是给新手设计的——程序出问题的时候你断点一打逐行看数值问题马上现出原形。第一课先不展开之后的课程里再带大家仔细玩。我个人在实际带新人的过程中发现所有入门阶段的疑惑本质上都是因为对“编辑—保存—编译—运行”这条链路没有整体感知。你之所以困惑不是因为你笨而是因为你还没有建立一个完整的心理模型。这篇文章把整条链路的每一个环节都拆开了环境怎么配、文件怎么开、代码怎么写、程序怎么跑、布局怎么调希望你跟着操作一遍能对整个流程有真切的掌握。最后再送你一个小技巧平时遇到问题先把报错信息的前几行抄下来直接搜索。很多问题你并不是第一个遇到的人。千万不要在没看路径、没看文件名的前提下就怀疑代码有问题绝大多数问题的根源藏在你认为“已经很完善”的细节里。C#这条路很长但第一课你已经顺利起步了。
返回列表