掌握 C# 基础语法 – wiki基地

掌握 C# 基础语法:从零开始构建编程基石

C#(读作 “C Sharp”)是 Microsoft 开发的一种现代、面向对象的编程语言。它根植于 .NET 框架,广泛应用于 Windows 桌面应用、Web 应用(ASP.NET)、游戏开发(Unity 3D)、移动应用(Xamarin)以及云计算等领域。无论您是编程新手,还是希望扩展技能树的开发者,掌握 C# 基础语法都是迈向更广阔编程世界的第一步。

本文将带领您详细探索 C# 的基础语法,帮助您从零开始构建坚实的编程基石。

1. C# 概述

C# 语言的设计哲学是简洁、现代、面向对象,同时具备类型安全和强大的性能。它吸收了 C++ 和 Java 的优点,并在此基础上进行了诸多改进,使得开发人员能够更高效地编写健壮的代码。

在开始编写 C# 代码之前,您需要一个开发环境,最常用的是 Visual Studio。安装 Visual Studio 后,您可以创建一个新的 C# 控制台应用程序项目,这将是您实践代码的最佳场所。

一个最简单的 C# 程序如下所示:

“`csharp
using System; // 引入System命名空间,提供了Console类等基本功能

namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
// Console.WriteLine 用于向控制台输出文本
Console.WriteLine(“Hello, C# World!”);
Console.ReadKey(); // 等待用户按键,防止控制台窗口立刻关闭
}
}
}
“`

  • using System;: 导入命名空间,使您可以使用 System 命名空间中的类型而无需完全限定名称(如 System.Console)。
  • namespace HelloWorld: 命名空间用于组织代码,避免名称冲突。
  • class Program: 类是面向对象编程的基本构建块,包含了数据(字段)和行为(方法)。
  • static void Main(string[] args): 这是程序的入口点。static 表示该方法属于类本身而不是类的实例,void 表示方法不返回任何值,Main 是约定俗成的入口方法名。

2. 变量和数据类型

变量是存储数据的容器。在 C# 中,您必须先声明变量的类型,然后才能使用它。C# 是一种强类型语言,这意味着一旦声明了变量的类型,它的类型就不能改变。

基本数据类型:

类型 描述 示例值
int 整数(32位) 10, -500
long 长整数(64位) 1234567890L
float 单精度浮点数 3.14f, -0.5f
double 双精度浮点数(默认) 3.14159, 1.0
decimal 高精度十进制浮点数(常用于金融计算) 12.99m
bool 布尔值 true, false
char 单个字符 'A', 'z', '1'
string 字符串(字符序列) "Hello", "C# 编程"

声明和初始化变量:

“`csharp
int age = 30; // 声明一个整型变量age并初始化为30
string name = “张三”; // 声明一个字符串变量name并初始化
bool isActive = true; // 声明一个布尔型变量isActive

double pi = 3.14159;
float price = 19.99f; // 注意float类型值后面需要加’f’
decimal salary = 5000.50m; // 注意decimal类型值后面需要加’m’

// 使用var关键字进行隐式类型推断 (编译时确定类型)
var count = 100; // count会被推断为int
var message = “这是隐式类型的字符串”; // message会被推断为string

Console.WriteLine($”姓名: {name}, 年龄: {age}, 是否活跃: {isActive}”);
“`

3. 运算符

运算符用于对变量和值执行操作。C# 支持多种类型的运算符:

  • 算术运算符: +, -, *, /, % (取模)
  • 关系运算符: == (等于), != (不等于), >, <, >=, <=
  • 逻辑运算符: && (与), || (或), ! (非)
  • 赋值运算符: =, +=, -=, *=, /=, %=
  • 增量/减量运算符: ++ (递增), -- (递减)
  • 三元运算符 (条件运算符): 条件 ? 表达式1 : 表达式2

“`csharp
int a = 10, b = 5;

// 算术运算
Console.WriteLine($”a + b = {a + b}”); // 15
Console.WriteLine($”a – b = {a – b}”); // 5
Console.WriteLine($”a * b = {a * b}”); // 50
Console.WriteLine($”a / b = {a / b}”); // 2
Console.WriteLine($”a % b = {a % b}”); // 0

// 关系运算
Console.WriteLine($”a == b ? {a == b}”); // False
Console.WriteLine($”a > b ? {a > b}”); // True

// 逻辑运算
bool isTrue = (a > 0) && (b < 10); // True && True = True
Console.WriteLine($”isTrue: {isTrue}”);

// 赋值运算
a += 2; // a = a + 2; a 现在是 12
Console.WriteLine($”a after a += 2: {a}”);

// 增量/减量
int x = 5;
x++; // x 变为 6 (后增量)
Console.WriteLine($”x after x++: {x}”);

// 三元运算符
string result = (age >= 18) ? “成年人” : “未成年人”;
Console.WriteLine($”用户是: {result}”);
“`

4. 控制流

控制流语句决定了程序执行的顺序。

4.1 条件语句

  • if-else if-else: 根据条件执行不同的代码块。

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

  • switch: 用于基于一个变量的值,执行多个可能的代码路径。

    “`csharp
    int dayOfWeek = 3; // 假设1=周一, 2=周二, …
    string dayName;

    switch (dayOfWeek)
    {
    case 1:
    dayName = “周一”;
    break;
    case 2:
    dayName = “周二”;
    break;
    case 3:
    dayName = “周三”;
    break;
    // … 其他天
    default:
    dayName = “未知”;
    break;
    }
    Console.WriteLine($”今天是: {dayName}”);
    “`

4.2 循环语句

  • 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 < 2);

  • foreach 循环: 遍历集合(如数组、列表)中的每个元素。

    csharp
    string[] fruits = { "苹果", "香蕉", "橘子" };
    foreach (string fruit in fruits)
    {
    Console.WriteLine($"我喜欢吃: {fruit}");
    }

5. 方法(函数)

方法是一组执行特定任务的语句块。通过使用方法,您可以重用代码,并使程序结构更清晰。

“`csharp
class MyUtils
{
// 不带参数和返回值的方法
public static void Greet()
{
Console.WriteLine(“你好,世界!”);
}

// 带参数但无返回值的方法
public static void PrintMessage(string message)
{
    Console.WriteLine($"打印消息: {message}");
}

// 带参数和返回值的方法
public static int Add(int num1, int num2)
{
    return num1 + num2;
}

}

// 在Main方法中调用
// MyUtils.Greet();
// MyUtils.PrintMessage(“C# 编程很有趣!”);
// int sum = MyUtils.Add(10, 20);
// Console.WriteLine($”10 + 20 = {sum}”);
“`

6. 类和对象 (简介)

C# 是一种面向对象的语言。是创建对象的蓝图,它定义了对象的属性(数据)和行为(方法)。对象是类的实例。

“`csharp
// 定义一个Person类
class Person
{
// 属性 (字段)
public string Name;
public int Age;

// 构造函数:创建对象时调用的特殊方法
public Person(string name, int age)
{
    Name = name;
    Age = age;
}

// 方法
public void Introduce()
{
    Console.WriteLine($"大家好,我叫 {Name},今年 {Age} 岁。");
}

}

// 在Main方法中创建并使用对象
// Person person1 = new Person(“李四”, 25); // 创建Person类的实例 (对象)
// person1.Introduce(); // 调用对象的方法

// Person person2 = new Person(“王五”, 30);
// person2.Introduce();
“`
面向对象编程是一个庞大的主题,这里仅作简单介绍,后续深入学习C#会逐步掌握。

7. 注释

注释是代码中用于解释和说明的部分,编译器会忽略它们。良好的注释习惯能够提高代码的可读性和可维护性。

  • 单行注释: 使用 //

    csharp
    // 这是一个单行注释
    int x = 10; // 变量x被初始化为10

  • 多行注释: 使用 /* ... */

    csharp
    /*
    * 这是一个多行注释
    * 可以跨越多行来解释复杂的代码段
    */

  • XML 文档注释: 使用 ///,主要用于为类、方法、属性等生成文档。

    csharp
    /// <summary>
    /// 这个方法用于计算两个整数的和。
    /// </summary>
    /// <param name="num1">第一个整数。</param>
    /// <param name="num2">第二个整数。</param>
    /// <returns>两个整数的和。</returns>
    public static int Add(int num1, int num2)
    {
    return num1 + num2;
    }

总结

掌握 C# 基础语法是您踏入 .NET 开发世界的第一步。从理解变量和数据类型,到熟练运用运算符,再到控制程序的流程,以及构建和使用方法,每一步都至关重要。

接下来,您可以进一步学习 C# 的面向对象特性(封装、继承、多态)、异常处理、集合、LINQ、文件 I/O 等高级主题。持续的实践和项目练习将帮助您巩固这些知识,并逐步成为一名熟练的 C# 开发者。祝您编程愉快!Okay, I’ve generated the article based on your request. I will not output any additional information.

滚动至顶部