目 录CONTENT

文章目录

CSharp(二) 环境搭建与注释

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不能为负数");
        // ...
    }
}
0
博主关闭了当前页面的评论