C#(CSharp)是由微软开发的一种面向对象编程语言,它广泛应用于开发Windows桌面应用程序、Web应用程序、游戏(通过Unity)等。C#在微软的.NET平台下运行,支持跨平台开发。以下是一个C#入门教程,涵盖了基本的语言概念、语法和应用。
1. C# 环境配置
首先,你需要安装 .NET SDK 和开发工具来开始学习 C#。
安装步骤:
- 下载并安装 Visual Studio(推荐安装Community版)或 Visual Studio Code(轻量级IDE)。
- 安装 .NET SDK。
- 配置开发环境并启动一个新的 C# 项目。
2. Hello World 程序
打开你的IDE,创建一个新的 C# 控制台应用程序,写下下面的代码:
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
// 输出 "Hello, World!" 到控制台
Console.WriteLine("Hello, World!");
}
}
}
代码解释:
using System;
:引入命名空间System
,这是C#的基础库,提供了很多常用的功能,例如控制台输入输出。namespace HelloWorld
:命名空间是为了组织代码而设计的,避免不同部分的命名冲突。class Program
:定义一个类Program
,C#是面向对象的语言,一切代码都在类中。static void Main(string[] args)
:这是C#程序的入口点,程序执行从Main
方法开始。string[] args
是命令行参数(可以传递外部数据给程序)。
运行后,控制台会显示:
Hello, World!
3. C# 基本语法
3.1 变量和数据类型
C#是强类型语言,变量必须声明类型后才能使用。
int age = 25; // 整数
double price = 19.99; // 浮动点数
bool isActive = true; // 布尔值
char grade = 'A'; // 单字符
string name = "John"; // 字符串
常见的数据类型:
int
: 整数double
: 双精度浮点数bool
: 布尔类型(true
或false
)char
: 单个字符string
: 字符串
3.2 控制流语句
C#支持常见的控制流结构,比如条件判断和循环。
// if-else 语句
if (age >= 18)
{
Console.WriteLine("You are an adult.");
}
else
{
Console.WriteLine("You are a minor.");
}
// switch 语句
int day = 3;
switch (day)
{
case 1:
Console.WriteLine("Monday");
break;
case 2:
Console.WriteLine("Tuesday");
break;
default:
Console.WriteLine("Invalid day");
break;
}
// for 循环
for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
}
// while 循环
int count = 0;
while (count < 5)
{
Console.WriteLine(count);
count++;
}
3.3 数组
数组是存储多个相同类型数据的集合。
int[] numbers = { 1, 2, 3, 4, 5 };
Console.WriteLine(numbers[0]); // 输出 1
3.4 方法
方法是执行特定任务的代码块。方法可以有返回值或者没有(void
)。
// 定义一个返回整数的加法方法
int Add(int a, int b)
{
return a + b;
}
// 调用方法
int result = Add(5, 10);
Console.WriteLine(result); // 输出 15
4. 面向对象编程(OOP)
C#是一种面向对象的编程语言,支持类和对象的创建。
4.1 类和对象
class Car
{
public string Make;
public string Model;
public int Year;
public void Start()
{
Console.WriteLine("The car is starting.");
}
}
class Program
{
static void Main(string[] args)
{
Car myCar = new Car();
myCar.Make = "Toyota";
myCar.Model = "Corolla";
myCar.Year = 2022;
myCar.Start();
}
}
class Car
: 定义了一个Car
类。public void Start()
: 定义了一个方法Start
,可以通过对象调用。
4.2 构造函数
构造函数用于初始化对象。
class Person
{
public string Name;
public int Age;
// 构造函数
public Person(string name, int age)
{
Name = name;
Age = age;
}
}
class Program
{
static void Main(string[] args)
{
Person person = new Person("Alice", 30);
Console.WriteLine(person.Name); // 输出 Alice
}
}
5. 异常处理
C#使用try-catch
语句处理异常。
try
{
int result = 10 / 0; // 会引发异常
}
catch (DivideByZeroException ex)
{
Console.WriteLine("Cannot divide by zero!");
}
6. LINQ(语言集成查询)
LINQ 是 C# 的强大特性,它允许你以一种声明式的方式查询数据集合。
int[] numbers = { 1, 2, 3, 4, 5 };
var evenNumbers = from n in numbers
where n % 2 == 0
select n;
foreach (var number in evenNumbers)
{
Console.WriteLine(number); // 输出 2 4
}
7. 总结与学习路线
这只是 C# 的基础入门部分,C# 还包括更多高级特性,例如:
- 异步编程(
async
和await
) - 集合类(如
List<T>
,Dictionary<TKey, TValue>
等) - 委托和事件
- 泛型
- 使用.NET库进行文件操作、网络编程等。
在学习C#时,建议逐步掌握以上基础内容后再深入学习面向对象编程和高级特性。
发表回复