一、C# 简介
C# 是微软开发的现代、通用、面向对象的编程语言,诞生于 21 世纪初。它综合了 C 和 C++ 的强大功能与 Visual Basic 的简易性,与 .NET 框架深度融合,具有高效、安全、可扩展等特点。C# 应用场景广泛,涵盖 Windows 应用程序开发、Web 开发(如 ASP.NET)、游戏开发(Unity 游戏引擎大量使用 C#)、移动应用开发(.NET MAUI 可实现跨平台开发)等领域。
二、开发环境搭建
安装 Visual Studio
Visual Studio 是功能强大的集成开发环境(IDE),为 C# 开发提供了丰富的工具和功能。访问 Visual Studio 官网,根据需求选择合适版本(社区版免费且功能丰富,适合初学者)。安装时,在工作负载中勾选 “.NET 桌面开发”“ASP.NET 和 Web 开发” 等,以支持不同类型的 C# 项目开发。
其他开发工具选择
- Visual Studio Code:轻量级代码编辑器,通过安装 C# 扩展可进行 C# 开发,适合快速开发和小型项目,具有良好的跨平台性。
- JetBrains Rider:跨平台的 .NET IDE,集成了强大的代码分析和重构功能,对 C# 开发有很好的支持。
创建第一个 C# 项目
打开 Visual Studio,选择 “创建新项目”,在众多模板中,“控制台应用 (.NET Core)” 是最基础的,适合初学者了解程序的基本结构。创建项目后,会看到 Program.cs
文件,其中包含以下代码:
csharp
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
按下 F5
键或点击 “启动” 按钮,程序将在控制台输出 “Hello, World!”,这标志着你已成功运行第一个 C# 程序。
三、基础语法学习
变量与数据类型
C# 提供多种数据类型,可分为值类型和引用类型。
- 值类型:直接存储数据值,如整数类型(
byte
、short
、int
、long
)、浮点类型(float
、double
)、布尔类型(bool
)、字符类型(char
)等。例如:
csharp
byte smallNumber = 250;
float price = 9.99f;
bool isOpen = false;
char grade = 'A';
- 引用类型:存储数据的引用,常见的有字符串类型(
string
)、对象类型(object
)、数组类型等。例如:
csharp
string message = "Hello, C#!";
object anyObject = 123;
int[] numbers = { 1, 2, 3, 4, 5 };
控制结构
- 条件语句:
if-else
用于简单条件判断,switch-case
适用于多分支选择。例如:
csharp
int score = 85;
if (score >= 90)
{
Console.WriteLine("优秀");
}
else if (score >= 80)
{
Console.WriteLine("良好");
}
else
{
Console.WriteLine("继续努力");
}
// switch-case 示例
string day = "Monday";
switch (day)
{
case "Monday":
Console.WriteLine("周一");
break;
case "Tuesday":
Console.WriteLine("周二");
break;
default:
Console.WriteLine("其他");
break;
}
- 循环语句:
for
循环用于已知循环次数的情况,while
循环用于不确定循环次数的情况,do-while
循环至少执行一次。例如:
csharp
// for 循环
for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
}
// while 循环
int j = 0;
while (j < 5)
{
Console.WriteLine(j);
j++;
}
// do-while 循环
int k = 0;
do
{
Console.WriteLine(k);
k++;
} while (k < 5);
方法
方法是一段可重复使用的代码块,提高了代码的复用性和可维护性。定义方法时需指定返回类型、方法名和参数列表。例如:
csharp
static int Multiply(int a, int b)
{
return a * b;
}
调用方法:
csharp
int product = Multiply(4, 6);
Console.WriteLine(product);
异常处理
在程序运行过程中,可能会出现各种异常情况,如文件未找到、网络连接失败等。使用 try-catch-finally
语句可以捕获和处理异常。例如:
csharp
try
{
int result = 10 / 0; // 会引发除零异常
}
catch (DivideByZeroException ex)
{
Console.WriteLine("除零错误:" + ex.Message);
}
finally
{
Console.WriteLine("无论是否发生异常,都会执行此代码块");
}
四、面向对象编程基础
类与对象
类是对象的蓝图,定义了对象的属性和方法。对象是类的实例。例如:
csharp
class Book
{
public string Title { get; set; }
public string Author { get; set; }
public int Pages { get; set; }
public void DisplayInfo()
{
Console.WriteLine($"《{Title}》,作者:{Author},页数:{Pages}");
}
}
创建对象并调用方法:
csharp
Book myBook = new Book();
myBook.Title = "C# 编程入门";
myBook.Author = "张三";
myBook.Pages = 300;
myBook.DisplayInfo();
继承
继承允许一个类继承另一个类的属性和方法,实现代码的复用和扩展。被继承的类称为基类(父类),继承的类称为派生类(子类)。例如:
csharp
class Animal
{
public string Name { get; set; }
public void Eat()
{
Console.WriteLine($"{Name} 正在吃东西");
}
}
class Dog : Animal
{
public void Bark()
{
Console.WriteLine($"{Name} 正在汪汪叫");
}
}
创建 Dog
对象并调用方法:
csharp
Dog myDog = new Dog();
myDog.Name = "旺财";
myDog.Eat();
myDog.Bark();
多态
多态允许通过基类的引用调用派生类的方法,提高了代码的灵活性和可扩展性。例如:
csharp
class Shape
{
public virtual void Draw()
{
Console.WriteLine("绘制形状");
}
}
class Circle : Shape
{
public override void Draw()
{
Console.WriteLine("绘制圆形");
}
}
class Rectangle : Shape
{
public override void Draw()
{
Console.WriteLine("绘制矩形");
}
}
使用多态调用方法:
csharp
Shape[] shapes = { new Circle(), new Rectangle() };
foreach (Shape shape in shapes)
{
shape.Draw();
}
封装
封装是将数据和操作数据的方法绑定在一起,并隐藏对象的内部实现细节。通过访问修饰符(如 public
、private
、protected
)来控制类的成员的访问权限。例如:
csharp
class BankAccount
{
private double balance;
public void Deposit(double amount)
{
if (amount > 0)
{
balance += amount;
Console.WriteLine($"存入 {amount} 元,当前余额:{balance} 元");
}
else
{
Console.WriteLine("存入金额必须大于 0");
}
}
public void Withdraw(double amount)
{
if (amount > 0 && amount <= balance)
{
balance -= amount;
Console.WriteLine($"取出 {amount} 元,当前余额:{balance} 元");
}
else
{
Console.WriteLine("取款失败,金额无效或余额不足");
}
}
}
使用 BankAccount
类:
csharp
BankAccount account = new BankAccount();
account.Deposit(1000);
account.Withdraw(500);
五、学习资源推荐
在线教程
- 微软官方文档:提供了 C# 和 .NET 的详细文档,包括语法参考、教程、示例代码等,是学习 C# 的权威资料,地址为 C# 指南 - .NET 托管语言 | Microsoft Learn。
- 菜鸟教程:有丰富的 C# 基础教程和示例代码,讲解通俗易懂,适合初学者快速入门,网址是 C# 教程 | 菜鸟教程。
- 慕课网:提供了大量的 C# 视频课程,由专业讲师授课,结合实际项目案例,帮助学习者更好地掌握 C# 开发技能。
书籍
- 《C# 高级编程》:全面介绍 C# 语言和 .NET 框架,内容涵盖 C# 的各个方面,适合深入学习。
- 《C# 入门经典》:以通俗易懂的方式讲解 C# 基础知识,配有大量示例代码和练习题,非常适合初学者。
- 《Effective C#》:介绍了 50 条 C# 最佳实践,帮助开发者写出更高效、更安全的代码。
六、实践项目建议
控制台应用
- 简单计算器:实现加、减、乘、除、取模等基本运算,可进一步扩展到支持括号运算和复杂表达式计算。
- 学生信息管理系统:可以添加、删除、修改和查询学生信息,可使用文件存储学生数据,实现数据的持久化。
- 猜数字游戏:程序随机生成一个数字,玩家通过输入数字来猜测,程序提示猜大了还是猜小了,直到猜对为止。
图形用户界面(GUI)应用
学习使用 Windows Forms 或 WPF(Windows Presentation Foundation)创建简单的桌面应用。
- 记事本:实现文本的输入、保存、打开等基本功能,可添加字体设置、查找替换等高级功能。
- 闹钟:设置闹钟时间,当到达设定时间时,弹出提示框或播放提示音。
通过实践项目,能更好地掌握 C# 知识和开发技能,提高解决实际问题的能力。