C#是微软开发的多范式编程语言,支持面向对象、泛型、异步编程等特性,广泛应用于Windows桌面开发、Web服务、游戏开发等多个领域。通过实际案例练习是掌握C#最高效的方式之一,下面会通过多个不同难度的实例帮助大家理解C#的核心用法。

C#基础语法实例:计算两个数之和
这个实例适合刚接触C#的新手,主要练习变量定义、用户输入、基本运算和输出操作,代码如下:
using System;
namespace BasicExample
{
class Program
{
static void Main(string[] args)
{
// 提示用户输入第一个数字
Console.WriteLine("请输入第一个数字:");
int num1 = Convert.ToInt32(Console.ReadLine());
// 提示用户输入第二个数字
Console.WriteLine("请输入第二个数字:");
int num2 = Convert.ToInt32(Console.ReadLine());
// 计算两数之和
int sum = num1 + num2;
// 输出结果
Console.WriteLine($"两个数字的和是:{sum}");
}
}
}
运行这段代码后,程序会依次提示输入两个数字,输入完成后自动计算并输出结果,通过这个实例可以熟悉Console类的常用方法、变量类型转换和基础运算逻辑。
面向对象实例:定义学生类并操作对象
C#的核心特性是面向对象编程,下面通过学生类的实例理解封装、属性、方法的概念:
using System;
namespace OOPExample
{
// 定义学生类
class Student
{
// 私有字段,存储学生姓名
private string name;
// 私有字段,存储学生年龄
private int age;
// 姓名属性,封装name字段
public string Name
{
get { return name; }
set { name = value; }
}
// 年龄属性,封装age字段,添加年龄校验逻辑
public int Age
{
get { return age; }
set
{
if (value >= 0 && value <= 150)
{
age = value;
}
else
{
Console.WriteLine("年龄输入不合法,已设置为默认值18");
age = 18;
}
}
}
// 学生类的方法,输出学生信息
public void PrintInfo()
{
Console.WriteLine($"学生姓名:{Name},年龄:{Age}");
}
}
class Program
{
static void Main(string[] args)
{
// 创建学生对象
Student stu = new Student();
// 设置属性值
stu.Name = "张三";
stu.Age = 20;
// 调用对象方法
stu.PrintInfo();
// 测试不合法的年龄输入
Student stu2 = new Student();
stu2.Name = "李四";
stu2.Age = 200;
stu2.PrintInfo();
}
}
}
这个实例中我们定义了Student类,通过属性封装字段并添加校验逻辑,还定义了类的方法,通过这个案例可以清晰理解面向对象的核心思想。
WinForms桌面应用实例:简单计算器
WinForms是C#开发Windows桌面应用的常用框架,下面实现一个简单的窗口计算器,核心逻辑代码如下:
using System;
using System.Windows.Forms;
namespace WinFormsCalculator
{
public partial class CalculatorForm : Form
{
// 存储第一个操作数
private double firstNum = 0;
// 存储当前选择的运算符
private string oper = "";
// 标记是否正在输入第二个操作数
private bool isSecondNum = false;
public CalculatorForm()
{
InitializeComponent();
}
// 数字按钮点击事件
private void NumButton_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
if (isSecondNum)
{
txtResult.Text = btn.Text;
isSecondNum = false;
}
else
{
txtResult.Text += btn.Text;
}
}
// 运算符按钮点击事件
private void OperButton_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
firstNum = Convert.ToDouble(txtResult.Text);
oper = btn.Text;
isSecondNum = true;
}
// 等于按钮点击事件
private void EqualsButton_Click(object sender, EventArgs e)
{
double secondNum = Convert.ToDouble(txtResult.Text);
double result = 0;
switch (oper)
{
case "+":
result = firstNum + secondNum;
break;
case "-":
result = firstNum - secondNum;
break;
case "*":
result = firstNum * secondNum;
break;
case "/":
if (secondNum != 0)
{
result = firstNum / secondNum;
}
else
{
MessageBox.Show("除数不能为0");
return;
}
break;
}
txtResult.Text = result.ToString();
isSecondNum = true;
}
// 清空按钮点击事件
private void ClearButton_Click(object sender, EventArgs e)
{
txtResult.Text = "0";
firstNum = 0;
oper = "";
isSecondNum = false;
}
}
}
这个实例需要配合WinForms窗体设计器拖放按钮和文本框控件,通过事件绑定实现计算逻辑,适合理解C#桌面应用的开发流程。
ASP.NET Core Web API实例:用户查询接口
ASP.NET Core是C#开发Web应用的主流框架,下面实现一个简单的用户查询接口:
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;
namespace WebApiExample.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class UserController : ControllerBase
{
// 模拟用户数据列表
private static List<User> users = new List<User>
{
new User { Id = 1, Name = "张三", Age = 20 },
new User { Id = 2, Name = "李四", Age = 22 },
new User { Id = 3, Name = "王五", Age = 25 }
};
// 获取所有用户
[HttpGet]
public ActionResult<IEnumerable<User>> GetAllUsers()
{
return users;
}
// 根据ID获取单个用户
[HttpGet("{id}")]
public ActionResult<User> GetUserById(int id)
{
var user = users.FirstOrDefault(u => u.Id == id);
if (user == null)
{
return NotFound();
}
return user;
}
}
// 用户实体类
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
}
运行这个Web API项目后,访问对应接口地址就能获取用户数据,通过这个实例可以了解C# Web开发的基本结构、路由配置和接口返回逻辑。
学习C#实例的注意事项
- 先理解实例的核心逻辑,再动手敲代码,不要直接复制粘贴
- 尝试修改实例的参数和功能,比如给计算器添加开方、百分比功能
- 遇到报错先查看错误提示,学会使用调试工具定位问题
- 学完基础实例后,尝试自己实现一个完整的小项目,比如待办事项管理工具
通过这些不同场景的C#实例练习,新手可以逐步掌握从基础语法到框架开发的全流程,后续还可以结合Unity游戏开发、微服务开发等方向深入学习对应的实例内容。
C#实例教程面向对象编程WinFormsASP.NET_Core修改时间:2026-07-08 07:00:29