跳转到内容

C Sharp 简介

来自代码酷
Admin留言 | 贡献2025年4月29日 (二) 18:39的版本 (Page creation by admin bot)

(差异) ←上一版本 | 已核准修订 (差异) | 最后版本 (差异) | 下一版本→ (差异)

C#简介[编辑 | 编辑源代码]

C#(发音为 "C Sharp")是一种现代、通用、面向对象的编程语言,由微软开发并于2000年首次发布。它是.NET平台的核心语言之一,广泛用于开发桌面应用程序、Web服务、游戏(通过Unity引擎)和移动应用。C#结合了C++的强大功能和Java的简洁性,同时引入了许多创新特性,使其成为初学者和专业开发人员的理想选择。

设计目标与特点[编辑 | 编辑源代码]

C#的设计目标包括:

  • 简单易学:语法清晰,减少复杂性(如指针操作)。
  • 面向对象:支持封装、继承和多态。
  • 类型安全:编译时和运行时检查防止类型错误。
  • 跨平台:通过.NET Core/.NET 5+支持Windows、Linux和macOS。
  • 高性能:即时编译(JIT)和优化技术。

关键特性[编辑 | 编辑源代码]

  • 自动垃圾回收(GC)
  • 异步编程(async/await
  • LINQ(语言集成查询)
  • 属性、事件和委托
  • 泛型支持

基本语法示例[编辑 | 编辑源代码]

以下是一个简单的C#程序,展示基础结构:

using System;

class Program
{
    static void Main()
    {
        // 输出Hello World
        Console.WriteLine("Hello, World!");

        // 变量与计算
        int x = 5;
        double y = 3.14;
        Console.WriteLine($"Sum: {x + y}");
    }
}

输出:

Hello, World!
Sum: 8.14

代码解析:

  • using System:导入命名空间。
  • Main:程序入口点。
  • Console.WriteLine:输出方法。
  • $"":字符串插值(C# 6.0+)。

类型系统[编辑 | 编辑源代码]

C#是强类型语言,主要分类:

classDiagram class ValueType { +int +double +struct } class ReferenceType { +string +class +array } ValueType <|-- BuiltInValueTypes ReferenceType <|-- BuiltInReferenceTypes

值类型 vs 引用类型[编辑 | 编辑源代码]

特性 值类型 引用类型
存储位置
默认赋值 拷贝值 拷贝引用
示例 int, struct string, class

实际应用案例[编辑 | 编辑源代码]

场景:温度转换器[编辑 | 编辑源代码]

public class TemperatureConverter
{
    public static double CelsiusToFahrenheit(double celsius)
    {
        return celsius * 9 / 5 + 32;
    }
    
    public static void Main()
    {
        Console.Write("Enter Celsius: ");
        double input = double.Parse(Console.ReadLine());
        Console.WriteLine($"Fahrenheit: {CelsiusToFahrenheit(input)}");
    }
}

输入/输出示例:

Enter Celsius: 25
Fahrenheit: 77

数学公式支持[编辑 | 编辑源代码]

C#中可实现的数学计算示例:

  • 二次方程求根公式:

x=b±b24ac2a

对应代码实现:

public static (double?, double?) SolveQuadratic(double a, double b, double c)
{
    double discriminant = b * b - 4 * a * c;
    if (discriminant < 0) return (null, null);
    double sqrtDisc = Math.Sqrt(discriminant);
    return ((-b + sqrtDisc) / (2 * a), (-b - sqrtDisc) / (2 * a));
}

进阶特性预览[编辑 | 编辑源代码]

  • LINQ查询
var numbers = new List<int> { 1, 2, 3, 4 };
var evenNumbers = from num in numbers 
                  where num % 2 == 0 
                  select num;
  • 异步方法
public async Task<string> FetchDataAsync()
{
    using var client = new HttpClient();
    return await client.GetStringAsync("https://api.example.com/data");
}

总结[编辑 | 编辑源代码]

C#作为一门多范式语言,既适合初学者理解编程基础,又能满足企业级开发需求。其持续的版本更新(如C# 12的新特性)保持了语言的现代性和竞争力。建议学习者从基础语法开始,逐步探索面向对象、泛型、异步编程等高级主题。