C#注释技巧与基础编程示例

以下是一个包含基础注释的 C# 程序示例,展示了 C# 中各类注释的使用方法:

using System;

namespace BasicCSharpProgram
{
/// <summary>
/// Program 类是应用程序的入口点
/// 包含 Main 方法作为程序执行的起点
/// </summary>
public class Program
{
// 程序入口点,程序从这里开始执行
// args 参数接收命令行传入的参数
public static void Main(string[] args)
{
// 声明并初始化一个整数变量
int number = 10;

// 声明一个字符串变量,用于存储用户姓名
string? name; // C# 8.0 及以后版本的可空引用类型

// 调用方法获取用户输入
name = GetUserName();

// 调用打印欢迎信息的方法
PrintWelcomeMessage(name, number);

// 调用计算并显示结果的方法
CalculateAndDisplay(5, 3);

// 打印当前日期(使用日期时间格式化)
Console.WriteLine($”今天是: {DateTime.Now:yyyy-MM-dd}”);

// 演示数组的使用
int[] numbers = new int[5];
FillArray(numbers);
DisplayArray(numbers);
}

/// <summary>
/// 获取用户输入的姓名
/// </summary>
/// <returns>用户输入的姓名</returns>
static string GetUserName()
{
Console.Write(“请输入您的姓名: “);
return Console.ReadLine() ?? “”; // 空合并运算符处理可能的 null
}

/// <summary>
/// 打印欢迎信息
/// </summary>
/// <param name=”userName”>用户姓名</param>
/// <param name=”count”>计数</param>
static void PrintWelcomeMessage(string userName, int count)
{
// 使用字符串插值
Console.WriteLine($”欢迎, {userName}! 这是您的第 {count} 次访问。”);
}

/// <summary>
/// 执行基本数学运算并显示结果
/// </summary>
/// <param name=”a”>第一个操作数</param>
/// <param name=”b”>第二个操作数</param>
static void CalculateAndDisplay(int a, int b)
{
// 加法运算
int sum = a + b;
Console.WriteLine($”{a} + {b} = {sum}”);

// 减法运算
int difference = a – b;
Console.WriteLine($”{a} – {b} = {difference}”);

// 乘法运算
int product = a * b;
Console.WriteLine($”{a} × {b} = {product}”);

// 除法运算(整数除法)
if (b != 0) // 检查除数是否为零
{
int quotient = a / b;
Console.WriteLine($”{a} ÷ {b} = {quotient}”);
}
else
{
Console.WriteLine(“错误:除数不能为零”);
}
}

/// <summary>
/// 使用示例值填充数组
/// </summary>
/// <param name=”array”>要填充的整数数组</param>
static void FillArray(int[] array)
{
// 检查数组是否为 null
if (array == null)
{
throw new ArgumentNullException(nameof(array), “数组不能为 null”);
}

// 使用循环填充数组
for (int i = 0; i < array.Length; i++)
{
array[i] = i * 2; // 填充 0, 2, 4, 6, 8
}
}

/// <summary>
/// 显示数组内容
/// </summary>
/// <param name=”array”>要显示的整数数组</param>
static void DisplayArray(int[] array)
{
Console.Write(“数组内容: “);
foreach (int num in array)
{
Console.Write(num + ” “);
}
Console.WriteLine(); // 换行
}
}
}

这个程序展示了如何使用 C# 的 Roslyn 编译器 API(通过 Microsoft.CodeAnalysis.CSharp.Scripting 命名空间)在运行时动态编译和执行 C# 代码。这种技术常用于脚本引擎、动态配置或需要灵活扩展的应用程序。

程序结构与核心组件
命名空间引用:

using System;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.CSharp.Scripting;

    • System.Threading.Tasks:提供异步编程支持(async/await)。
    • Microsoft.CodeAnalysis.CSharp.Scripting:Roslyn 的脚本 API,用于动态编译和执行 C# 代码。
  1. 异步 Main 方法
  2. static async Task Main()

    动态代码执行示例

    示例 1:简单代码片段
  3. string code = @”
    Console.WriteLine(“”这是一段动态执行的 C# 代码””);
    return 42;”;

    var result = await CSharpScript.EvaluateAsync<int>(code);
    Console.WriteLine($”代码执行结果: {result}”);

  4. 关键点:
    CSharpScript.EvaluateAsync<int>(code):
    编译并执行 code 字符串中的代码。
    <int> 指定返回值类型(必须与代码中的 return 类型匹配)。
    隐式引用:
    默认包含 System 命名空间,无需显式 using System;。
    异步执行:await 确保等待代码执行完成后再继续。
    示例 2:复杂代码(带类型和命名空间)

    string complexCode = @”
    using System;
    using System.Collections.Generic;

    public class Calculator
    {
    public int Add(int a, int b) => a + b;
    }

    var calc = new Calculator();
    return calc.Add(5, 7);”;

    var complexResult = await CSharpScript.EvaluateAsync<int>(complexCode);
    Console.WriteLine($”复杂代码执行结果: {complexResult}”);

欢迎使用66资源网
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
7. 本站有不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!

66源码网 » C#注释技巧与基础编程示例

提供最优质的资源集合

立即查看 了解详情