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# 代码。
-
异步 Main 方法:
- static async Task Main()
动态代码执行示例
示例 1:简单代码片段
- string code = @”
Console.WriteLine(“”这是一段动态执行的 C# 代码””);
return 42;”;var result = await CSharpScript.EvaluateAsync<int>(code);
Console.WriteLine($”代码执行结果: {result}”); - 关键点:
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}”);
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
7. 本站有不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!
66源码网 » C#注释技巧与基础编程示例