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 numberswhere n % 2 == 0select 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# 开发。