C Sharp 简介
外观
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#是强类型语言,主要分类:
值类型 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#中可实现的数学计算示例:
- 二次方程求根公式:
对应代码实现:
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的新特性)保持了语言的现代性和竞争力。建议学习者从基础语法开始,逐步探索面向对象、泛型、异步编程等高级主题。