C#(C Sharp)是一种由微软开发的现代化、面向对象的编程语言,广泛用于开发各种类型的应用程序,包括桌面应用、Web 应用、移动应用、游戏等。C# 是 .NET 框架和 .NET Core 的主要编程语言,具有高效的开发工具和丰富的类库支持。下面是 C# 编程基础的介绍。
1. 基本语法
-
数据类型:C# 提供了多种数据类型,例如整型 (
int
)、浮点型 (float
,double
)、字符型 (char
)、布尔型 (bool
)、字符串 (string
) 等。
int age = 25;
float height = 1.75f;
char initial = 'A';
bool isStudent = true;
string name = "John";
-
变量:变量用于存储数据。可以通过
var
关键字声明自动推断类型的变量。
var score = 95; // 自动推断为 int 类型
- 常量:常量在定义后不能更改。
const double Pi = 3.14159;
-
运算符:支持常见的算术运算符(
+
,,
,/
,%
)、比较运算符(==
,!=
,>
,<
,>=
,<=
)和逻辑运算符(&&
,||
,!
)。
2. 控制结构
-
条件语句:
if
、else if
、else
用于条件判断。
if (age >= 18)
{
Console.WriteLine("You are an adult.");
}
else
{
Console.WriteLine("You are a minor.");
}
-
循环:C# 支持
for
、while
、do-while
循环。
for (int i = 0; i < 10; i++)
{
Console.WriteLine(i);
}
int j = 0;
while (j < 10)
{
Console.WriteLine(j);
j++;
}
-
switch
语句:用于根据变量的值执行不同的代码块。
int day = 3;
switch (day)
{
case 1:
Console.WriteLine("Monday");
break;
case 2:
Console.WriteLine("Tuesday");
break;
case 3:
Console.WriteLine("Wednesday");
break;
default:
Console.WriteLine("Invalid day");
break;
}
3. 面向对象编程(OOP)
C# 是一个面向对象的语言,支持类、对象、继承、多态、封装和抽象等 OOP 特性。
- 类和对象:类是对象的模板。对象是类的实例。
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public void Greet()
{
Console.WriteLine($"Hello, my name is {Name}.");
}
}
Person person = new Person { Name = "Alice", Age = 30 };
person.Greet(); // 输出:Hello, my name is Alice.
- 继承:子类可以继承父类的属性和方法。
public class Student : Person
{
public string School { get; set; }
}
Student student = new Student { Name = "Bob", Age = 20, School = "XYZ University" };
- 多态性:允许子类在父类中定义的方法有不同的实现。
public class Animal
{
public virtual void Speak()
{
Console.WriteLine("Animal speaks.");
}
}
public class Dog : Animal
{
public override void Speak()
{
Console.WriteLine("Dog barks.");
}
}
Animal animal = new Dog();
animal.Speak(); // 输出:Dog barks.
4. 异常处理
异常处理用于捕获和处理运行时错误,以确保程序的健壮性。
try
{
int result = 10 / 0;
}
catch (DivideByZeroException ex)
{
Console.WriteLine("Cannot divide by zero.");
}
finally
{
Console.WriteLine("This will always execute.");
}
5. 集合和泛型
- 数组:存储一组相同类型的数据。
int[] numbers = { 1, 2, 3, 4, 5 };
-
列表(List):C# 提供
List<T>
泛型类用于动态数组。
List<int> numbers = new List<int> { 1, 2, 3 };
numbers.Add(4); // 添加元素
- 字典(Dictionary):用于存储键值对。
Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Alice"] = 30;
ages["Bob"] = 25;
6. 委托和事件
- 委托:委托是类型安全的函数指针,允许将方法作为参数传递。
public delegate void DisplayMessage(string message);
public class Messenger
{
public void ShowMessage(DisplayMessage display, string message)
{
display(message);
}
}
Messenger messenger = new Messenger();
messenger.ShowMessage(Console.WriteLine, "Hello, Delegates!");
- 事件:事件是基于委托的,常用于消息传递机制。
public class Button
{
public event Action Click;
public void OnClick()
{
Click?.Invoke();
}
}
Button button = new Button();
button.Click += () => Console.WriteLine("Button clicked!");
button.OnClick();
7. LINQ(Language Integrated Query)
LINQ 是 C# 提供的一种查询语法,允许对集合进行操作。
int[] numbers = { 1, 2, 3, 4, 5 };
var evenNumbers = from n in numbers
where n % 2 == 0
select n;
foreach (var num in evenNumbers)
{
Console.WriteLine(num); // 输出 2 和 4
}
8. 异步编程
C# 支持 async
和 await
关键字,用于编写异步代码,避免阻塞主线程。
public async Task<string> GetDataAsync()
{
await Task.Delay(1000); // 模拟异步操作
return "Data received.";
}
var data = await GetDataAsync();
Console.WriteLine(data);
总结
C# 是一种功能强大、语法简洁的编程语言,适用于多种应用程序的开发。掌握其基础概念如变量、控制结构、面向对象编程、集合操作等,将帮助你快速上手 C# 开发。