C# 入门指南 – wiki词典

I apologize, but I made an error in attempting to use a write_file tool which is not available in my current set of capabilities. I cannot directly create files in your file system.

However, I can provide the content of the C# beginner’s guide article as a text response below:

“`

C# 入门指南

C# (读作 “C sharp”) 是由 Microsoft 开发的一种现代、面向对象的编程语言,广泛应用于 Windows 桌面应用程序、Web 应用程序、游戏开发 (使用 Unity)、移动应用 (使用 Xamarin/MAUI) 以及云计算服务 (Azure)。本指南将带你了解 C# 的基础知识,助你迈出编程的第一步。

1. 环境搭建 (Visual Studio)

开始 C# 编程,你需要一个集成开发环境 (IDE)。Visual Studio 是官方推荐且功能最强大的 IDE。

  1. 下载 Visual Studio: 访问 Visual Studio 官方网站,下载并安装 Visual Studio Community (社区版,免费)。
  2. 选择工作负载: 安装过程中,请确保勾选以下工作负载:
    • “.NET 桌面开发” (用于桌面应用)
    • “ASP.NET 和 Web 开发” (用于 Web 应用)
    • “使用 Unity 的游戏开发” (如果对游戏开发感兴趣)
    • “使用 .NET 的移动开发” (如果对移动应用开发感兴趣)
  3. 创建第一个项目:
    • 打开 Visual Studio。
    • 点击 “创建新项目”。
    • 搜索并选择 “控制台应用” (.NET Core)。
    • 点击 “下一步”,输入项目名称 (例如:HelloWorld) 和位置。
    • 点击 “创建”。

2. 你的第一个 C# 程序:Hello, World!

创建项目后,你会看到一个 Program.cs 文件,其中包含类似如下代码:

csharp
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");

这就是你的第一个 C# 程序!Console.WriteLine() 是一个用于在控制台输出文本的函数。点击 Visual Studio 顶部工具栏的绿色 “启动” 按钮 (或按 F5),你会在控制台窗口看到 “Hello, World!”。

3. C# 基础语法

3.1 变量与数据类型

变量是存储数据的容器。C# 是强类型语言,这意味着在声明变量时必须指定其数据类型。

  • 整型 (Integers): int, long, short, byte
    csharp
    int age = 30;
    long bigNumber = 123456789012345L; // L表示long
  • 浮点型 (Floating-point Numbers): float, double, decimal
    csharp
    float pi = 3.14f; // f表示float
    double temperature = 25.5;
    decimal price = 19.99m; // m表示decimal,常用于财务计算
  • 布尔型 (Booleans): bool (真/假)
    csharp
    bool isActive = true;
    bool hasPermission = false;
  • 字符型 (Characters): char (单个字符)
    csharp
    char initial = 'J';
  • 字符串型 (Strings): string (文本,是 System.String 类的别名)
    csharp
    string name = "Alice";
    string greeting = "Hello, " + name + "!"; // 字符串连接
    string interpolatedGreeting = $"Hello, {name}!"; // 字符串插值 (C# 6.0+)
  • 隐式类型 (var): 编译器会根据赋值自动推断类型。
    csharp
    var count = 100; // count 被推断为 int
    var message = "Test"; // message 被推断为 string

3.2 常量

常量是程序执行期间值不能改变的变量。使用 const 关键字声明。

csharp
const double PI = 3.14159;
const string APP_NAME = "MyAwesomeApp";

3.3 运算符

  • 算术运算符: +, -, *, /, % (取模)
  • 比较运算符: == (等于), != (不等于), <, >, <=, >=
  • 逻辑运算符: && (逻辑与), || (逻辑或), ! (逻辑非)
  • 赋值运算符: =, +=, -=, *=, /=, %=

csharp
int a = 10, b = 3;
int sum = a + b; // 13
int remainder = a % b; // 1
bool isEqual = (a == b); // false
bool complexCondition = (a > 5 && b < 5); // true

3.4 控制流

3.4.1 if-else 语句 (条件判断)

csharp
int score = 85;
if (score >= 90)
{
Console.WriteLine("优秀");
}
else if (score >= 60)
{
Console.WriteLine("及格");
}
else
{
Console.WriteLine("不及格");
}

3.4.2 switch 语句 (多重选择)

csharp
char grade = 'B';
switch (grade)
{
case 'A':
Console.WriteLine("非常棒!");
break;
case 'B':
Console.WriteLine("不错。");
break;
case 'C':
Console.WriteLine("及格。");
break;
default:
Console.WriteLine("需要努力。");
break;
}

3.4.3 循环语句

  • for 循环:
    csharp
    for (int i = 0; i < 5; i++)
    {
    Console.WriteLine($"for 循环计数: {i}");
    }
  • while 循环:
    csharp
    int count = 0;
    while (count < 3)
    {
    Console.WriteLine($"while 循环计数: {count}");
    count++;
    }
  • do-while 循环: 至少执行一次循环体。
    csharp
    int i = 0;
    do
    {
    Console.WriteLine($"do-while 循环计数: {i}");
    i++;
    } while (i < 0); // 条件不满足,但循环体至少执行一次
  • foreach 循环: 遍历集合 (如数组、列表)。
    csharp
    string[] names = { "Alice", "Bob", "Charlie" };
    foreach (string n in names)
    {
    Console.WriteLine($"姓名: {n}");
    }

3.5 数组

数组是存储相同类型数据项的固定大小的顺序集合。

“`csharp
// 声明并初始化一个整型数组
int[] numbers = { 10, 20, 30, 40, 50 };

// 声明一个大小为3的字符串数组
string[] fruits = new string[3];
fruits[0] = “Apple”;
fruits[1] = “Banana”;
fruits[2] = “Cherry”;

Console.WriteLine($”第一个数字: {numbers[0]}”); // 访问元素 (索引从0开始)
Console.WriteLine($”数组长度: {fruits.Length}”);
“`

3.6 方法 (函数)

方法是包含一系列语句的代码块,用于执行特定任务。

“`csharp
// 定义一个方法,接收两个整数并返回它们的和
static int Add(int num1, int num2)
{
return num1 + num2;
}

// 定义一个不返回任何值 (void) 的方法
static void Greet(string personName)
{
Console.WriteLine($”你好, {personName}!”);
}

// 在 Main 方法中调用这些方法
static void Main(string[] args)
{
int result = Add(5, 3);
Console.WriteLine($”5 + 3 = {result}”); // 输出: 5 + 3 = 8

Greet("Bob"); // 输出: 你好, Bob!

}
“`

static 关键字: 暂时理解为可以直接通过类名调用 (例如 Console.WriteLine()),而无需创建类的实例。对于初学者,在控制台应用程序中,你的主要逻辑通常会放在 Main 方法或由 Main 方法调用的 static 方法中。

3.7 类与对象 (面向对象编程 OOP 基础)

C# 是一种面向对象的语言。类是创建对象的蓝图,对象是类的实例。

“`csharp
// 定义一个 Person 类
public class Person
{
// 属性 (数据成员)
public string Name { get; set; }
public int Age { get; set; }

// 构造函数 (用于创建对象时初始化)
public Person(string name, int age)
{
    Name = name;
    Age = age;
}

// 方法 (行为)
public void SayHello()
{
    Console.WriteLine($"你好,我的名字是 {Name},我今年 {Age} 岁。");
}

}

// 在 Main 方法中创建和使用对象
static void Main(string[] args)
{
// 创建 Person 类的实例 (对象)
Person person1 = new Person(“张三”, 25);
Person person2 = new Person(“李四”, 30);

// 调用对象的方法
person1.SayHello(); // 输出: 你好,我的名字是 张三,我今年 25 岁。
person2.SayHello(); // 输出: 你好,我的名字是 李四,我今年 30 岁。

// 访问和修改对象的属性
person1.Age = 26;
Console.WriteLine($"{person1.Name} 的新年龄是 {person1.Age}。");

}
“`

4. 更多进阶概念 (简介)

当你掌握了基础后,可以继续学习以下更高级的 C# 和 .NET 概念:

  • 继承 (Inheritance): 允许一个类从另一个类继承属性和方法。
  • 多态 (Polymorphism): 允许不同类的对象对同一个消息作出不同的响应。
  • 接口 (Interfaces): 定义了一组契约,要求实现它的类必须提供这些契约的实现。
  • 抽象类 (Abstract Classes): 介于类和接口之间,可以有抽象成员和具体成员。
  • 泛型 (Generics): 允许你编写可处理多种数据类型而无需重复代码的类和方法。
  • 集合 (Collections): List<T>, Dictionary<TKey, TValue>, HashSet<T> 等,用于存储和操作数据集合。
  • 异常处理 (Exception Handling): 使用 try-catch-finally 块处理程序运行时可能出现的错误。
  • 文件操作 (File I/O): 读取和写入文件。
  • LINQ (Language Integrated Query): 强大的数据查询语言。
  • 异步编程 (Asynchronous Programming): 使用 asyncawait 关键字编写非阻塞代码,提高应用程序响应性。
  • .NET 生态系统: 了解 ASP.NET Core (Web 开发)、Entity Framework Core (数据访问)、WPF/WinForms (桌面 UI) 等。

5. 学习资源

总结

C# 是一门功能强大、用途广泛的语言。从 “Hello, World!” 开始,逐步学习变量、数据类型、控制流、方法和面向对象的基本概念。实践是最好的老师,多动手编写代码,解决小问题,你将很快掌握 C# 并开启你的编程之旅!祝你好运!
“`

滚动至顶部