创建一个项目
创建控制台程序
在你安装完成Visual Studio后打开它,你会的到一个启动窗口
点击创建新项目,选择右上角c#的没有Framework的控制台应用。
项目名称,位置自己随意。
目标框架选择NET7.0。
项目创建完成后应该你的界面应该类似于这样:
运行程序
点击菜单里的播放键可以运行程序
其中,左边的带有项目名字的深色播放键是调试。
编译器会在运行这个程序时同时监视他的CPU,内存使用情况。
右侧浅色播放键是仅运行。快捷键Ctrl+F5
然后,你应该会出现一个默认黑底白字的框框,出现类似下面的内容
解决方案管理器
解决方案:解决方案是包含项目的集合,它们共同实现一个目标。解决方案本身不直接影响编译或运行,它只是类似于一个目录一样把相关的项目,文件,文件夹组织起来,方便你查看和导航。
- 项目:编译为程序集的基本单位。编译和运行都作用整个项目。
- 依赖项
- 包:类似于游戏中的mod或dlc。提供了一些封装好的代码。就像你的代码一样生效,但你不能修改里面的内容。
- 分析器:分析你的源码的程序。自动补全,代码提示这些都由分析器提供。
- 框架:框架是为了某一功能封装的一系列包。
- 项目:直接引用其他的项目中的代码或资源,不需要复制或修改任何文件,也不需要额外的打包步骤,就能在你的项目中使用它们。
- 源码文件:这是你编写的源码,他们在编译后会变成一个可执行文件(exe)或是动态链接库(dll)文件。他们都能被别的程序执行其中的部分内容。但可执行文件可以自己独立执行。
- 依赖项
程序入口
顶级语句
在你运行程序以后会弹出一个窗口,显示一行文字:Hello world
现在将代码中的所有东西再复制一遍。然后运行,就会得到两行Hello world
显然,我们的程序是写在这里的。 在这里写了什么,什么就会生效。
Main方法
你可能会说这不废话吗。这么大一片白只有这里有东西。不写这写哪?
嗯。。。确实。不过这是一个新版本的功能。大部分培训机构和学校都不会使用这个功能。
所以你必须知道,在老版本中,长什么样。你在网上找到的大部分文章,都会使用老版本的格式。
如果你在之前创建项目的时候勾选了这个勾,他会以老版本的格式创建示例程序。
我们的代码,将写在这里面
并没有什么配置或选项。只因为他是一个名为Main的方法(还有这一堆修饰词),所以他就是程序的开始。
在Main方法中(这一对括号内)右键可以切回去。
多个程序入口点
如果一个项目没有程序入口点,那么他就是dll文件。如果他有入口点,那么就是exe文件。
如果同时存在多个顶级语句(分散在不同的源码文件中),或是有多个Main方法。
那么是会报错的。
但是如果只有一个文件有顶级语句,那么无论你有多少个Main方法都没关系。
因为顶级语句有更高的优先级,当他存在时,Main方法会被无视。
提示
内联提示
打开工具->选项->搜索框内写内联。
按照自己的喜好选择行尾或最右侧。
然后拉到最下面,勾选这些:
然后你在代码里随便输点什么,你会发现在主界面就会提示你错误
并且初始代码的中间还多了灰色的小提示。那个提示不能选中,但是鼠标放上去会有东西。
文档注释
当一个程序被打包以后,里面的文档注释会被单独提取出来,做成一个文本文件。
也就是说,注释和程序是分开的,你可以随意改动注释不会出现问题。
你可以点击这里跳转到下载页面。
中文的文档注释没有适配最新版本的注释包。但是因为上述特点,可以将就着使用它。
找到.NET 安装文件夹,默认情况下,你在上方的路径里输入:%ProgramFiles%\dotnet\packs
就能跳转到。
打开下载来的压缩包。找到和压缩包里对应名字的文件夹。
依次打开最新版本,ref,唯一的文件夹。里面有一大堆xml文件。
把压缩包里面对应文件夹里的zh-hans文件夹拖到这个目录里。
最后重启VS就行了
跳转帮助
如果看到一个你看不懂的东西,可以把光标放在他上面,然后按F1。VS会启动你的默认浏览器,打开官网对此代码的说明书。
并且是中文的。
对于错误,你可以点击他的编号查看错误的帮助。
不过错误的帮助跳转是英文的,你需要在那个网页滚动到最下方,切换语言。
编写辅助
自动补全
按下回车换行,将上面的代码抄写一遍,你会发现在输入的时候会出现代码提示
使用方向键的上下可以选中代码
按下空格,Tab,回车,或大部分符号键会把选中的这一块弄上去。
这些有星星的表示这些东西是可以直接放这里用的。但是这种置顶没有在下面的列表中去除掉相同的。
用置顶的和用下面一样的是一样的效果。
代码预测
新版的VS代码提示学习了一堆范例代码,于是可以根据上下文推测你想要的代码。
按下Tab可以把这些灰色的代码直接补上去。
自动排版
这项功能在VS中叫格式化文档。
他会自动操控你的换行,空格,缩进。
比如你给初始代码的点左右加空格
按住Ctrl键,依次按下K,D键。就会触发自动排版。