CSharp(二) 环境搭建与注释
本章主要负责环境搭建运行和注释的三种方法
古法环境搭建
安装
- 安装 Visual Studio(推荐 Windows 用户)选择 Community 那个版本
下载地址 https://visualstudio.microsoft.com/zh-hans/downloads/
- 安装的时候勾选 ".NET桌面开发"工作负载
- 包含 IDE、编译器、调试器等完整工具链
安装.NET SDK
- 安装 .NET SDK
下载地址 https://dotnet.microsoft.com/zh-cn/download
- 安装完成后验证
# 查看版本
dotnet --version
# 创建并运行测试项目
dotnet new console -n HelloWorld
cd HelloWorld
dotnet run
主要组件说明
| 组件 | 作用 |
|---|---|
| .NET SDK | 包含运行时、编译器、CLI 工具 |
| Visual Studio | 集成开发环境,功能最全 |
| VS Code + C# 扩展 | 轻量跨平台方案 |
AI环境搭建
直接和AI交互
- Study 和 Lesson1-10 是解决方案和项目名称
利用C#帮我创建一个名字叫做Study的解决方案。下面有十个项目分别叫 Lesson1和Lesson2,以此类推,记得不要使用顶级语句
- 然后它会自己弹出来框子 让你安装环境之类的 , 这里本人使用的是vscode 安装了两个插件 1. C# 扩展 2.NET Core 扩展
- 在根目录创建一个文件夹叫.vscode文件 在下面创建两个文件 1. launch.json 2. tasks.json
- launch.json 是调试配置文件
{
"version": "0.2.0",
"configurations": [
{
"name": "Lesson1",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Lesson1/bin/Debug/net10.0/Lesson1.dll",
"args": [],
"cwd": "${workspaceFolder}/Lesson1",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": "Lesson2",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Lesson2/bin/Debug/net10.0/Lesson2.dll",
"args": [],
"cwd": "${workspaceFolder}/Lesson2",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": "Lesson3",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Lesson3/bin/Debug/net10.0/Lesson3.dll",
"args": [],
"cwd": "${workspaceFolder}/Lesson3",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": "Lesson4",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Lesson4/bin/Debug/net10.0/Lesson4.dll",
"args": [],
"cwd": "${workspaceFolder}/Lesson4",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": "Lesson5",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Lesson5/bin/Debug/net10.0/Lesson5.dll",
"args": [],
"cwd": "${workspaceFolder}/Lesson5",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": "Lesson6",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Lesson6/bin/Debug/net10.0/Lesson6.dll",
"args": [],
"cwd": "${workspaceFolder}/Lesson6",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": "Lesson7",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Lesson7/bin/Debug/net10.0/Lesson7.dll",
"args": [],
"cwd": "${workspaceFolder}/Lesson7",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": "Lesson8",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Lesson8/bin/Debug/net10.0/Lesson8.dll",
"args": [],
"cwd": "${workspaceFolder}/Lesson8",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": "Lesson9",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Lesson9/bin/Debug/net10.0/Lesson9.dll",
"args": [],
"cwd": "${workspaceFolder}/Lesson9",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": "Lesson10",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/Lesson10/bin/Debug/net10.0/Lesson10.dll",
"args": [],
"cwd": "${workspaceFolder}/Lesson10",
"console": "internalConsole",
"stopAtEntry": false
}
]
}
- tasks.json 是任务配置文件
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": ["build", "${workspaceFolder}/Study.slnx"],
"problemMatcher": "$msCompile"
}
]
}
运行项目
- 直接按下Ctrl+Shift+D 打开调试面板
- 在顶部下拉菜单中选择要运行的项目比如Lesson1 等
- 按下F5键 选择 NET 5+ and.NET Core
- 程序会输出 "Hello, World!" 到控制台
认识第一个CSharp项目
打开Lesson1项目
- 找到Program.cs这个文件
里面代码是
namespace Lesson1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
代码说明
- 第一行就是命名空间,Lesson1 是项目名称
- 第二行是类名,Program 是主类
- 第三行是方法,Main 是程序入口
- 第四行是语句,Console.WriteLine("Hello, World!") 是输出 "Hello, World!"
CSharp 注释
单行注释:
// 这是一个单行注释
namespace Lesson1
{
class Program
{
static void Main(string[] args)
{
// Console.WriteLine("Hello, World!");
Console.WriteLine("Hello, C#!");
}
}
}
结果就是输出 "Hello, C#!" 到控制台
多行注释:
通过/* */ 来实现多行注释
namespace Lesson1
{
class Program
{
static void Main(string[] args)
{
/*
Console.WriteLine("Hello, World!");
Console.WriteLine("Hello, C#!");
*/
Console.WriteLine("Lesson1");
}
}
}
结果就是输出 "Lesson1" 到控制台
XML 注释:
通过/// 来实现 XML 注释
输入 /// 后 Visual Studio / VS Code 会自动展开模板
- 简单示例:
/// <summary>
/// 计算两个数的和
/// </summary>
/// <param name="a">第一个加数</param>
/// <param name="b">第二个加数</param>
/// <returns>两数之和</returns>
public int Add(int a, int b)
{
return a + b;
}
| 标签 | 用途 |
|---|---|
<summary> |
描述成员功能 |
<param> |
参数说明(name 属性必填) |
<returns> |
返回值说明 |
<exception> |
可能抛出的异常 |
<see> / <seealso> |
引用其他类型或成员 |
<code> |
代码示例 |
<example> |
使用示例 |
<remarks> |
补充说明 |
- 完整示例
/// <summary>
/// 用户管理服务类
/// </summary>
/// <remarks>
/// 提供用户注册、登录、查询等功能
/// <para>使用示例:<see cref="UserService.GetById(int)"/></para>
/// </remarks>
public class UserService
{
/// <summary>
/// 根据ID获取用户
/// </summary>
/// <param name="id">用户唯一标识</param>
/// <returns>用户对象,不存在则返回null</returns>
/// <exception cref="ArgumentException">id小于0时抛出</exception>
public User GetById(int id)
{
if (id < 0) throw new ArgumentException("id不能为负数");
// ...
}
}