C# 快速入门指南.md
$
cat c# 快速入门指南.md
C# 快速入门指南
先了解 C# 语言
C#(读作 “C Sharp”)是由微软开发的一种现代、类型安全、面向对象的编程语言,最初发布于 2000 年,运行在 .NET 平台上。
它融合了 C++ 的强大性能与 Java 的简洁语法,并不断进化,支持:
- 面向对象编程(OOP)
- 异步编程(async/await)
- 函数式特性(LINQ、Lambda)
- 跨平台开发(.NET 5+ 支持 Windows、Linux、macOS)
- Web(ASP.NET Core)、桌面(WPF、WinForms)、移动(MAUI)、游戏(Unity)等多领域开发
C# 语法清晰、工具强大(Visual Studio / VS Code)、生态丰富,是企业级开发和现代应用的首选语言之一。
无论你是想开发 Web API、后台服务,还是桌面程序,C# 都是一个高效且可靠的 choice。
一个完整的 C# 控制台应用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
// 主程序入口(.NET 6+ 单文件模式)
await Main();
async Task Main()
{
Console.WriteLine("=== 欢迎使用 C# 快速入门示例 ===\n");
// 1. 基础变量与字符串插值
string name = "Alice";
int age = 25;
bool isDeveloper = true;
Console.WriteLine($"姓名: {name}, 年龄: {age}, 开发者: {isDeveloper}");
// 2. 条件判断
if (age >= 18)
Console.WriteLine("✅ 成年人");
else
Console.WriteLine("⚠️ 未成年人");
// 3. 循环遍历
List<string> hobbies = new() { "编程", "阅读", "跑步" };
Console.WriteLine("\n兴趣爱好:");
for (int i = 0; i < hobbies.Count; i++)
{
Console.WriteLine($" {i + 1}. {hobbies[i]}");
}
// 4. 使用 LINQ 查询(函数式风格)
var longHobbies = hobbies.Where(h => h.Length > 2).ToList();
Console.WriteLine("\n长度大于2的兴趣:");
longHobbies.ForEach(h => Console.WriteLine($" • {h}"));
// 5. 定义并使用类(面向对象)
var person = new Person("Bob", 30);
person.Greet();
// 6. 异步获取网络数据(模拟 API 调用)
Console.WriteLine("\n正在获取数据...");
string data = await FetchDataAsync();
Console.WriteLine($"✅ 数据长度: {data.Length} 字符");
// 7. 自定义工具类:简易配置管理
var config = new ConfigHelper();
config.Set("AppVersion", "1.0.0");
config.Set("MaxRetries", "3");
string version = config.Get("AppVersion", "unknown");
int retries = config.Get("MaxRetries", 1);
Console.WriteLine($"\n配置信息:");
Console.WriteLine($" 版本: {version}");
Console.WriteLine($" 最大重试次数: {retries}");
Console.WriteLine("\n=== 程序执行完成 ===");
}
// 自定义类:表示一个人
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 Greet() => Console.WriteLine($"👋 大家好,我是 {Name},今年 {Age} 岁。");
}
// 自定义工具类:简易配置管理器
public class ConfigHelper
{
private readonly Dictionary<string, string> _values = new();
public void Set(string key, string value) => _values[key] = value;
public string Get(string key, string defaultValue = "")
=> _values.GetValueOrDefault(key, defaultValue);
public T Get<T>(string key, T defaultValue)
{
var value = _values.GetValueOrDefault(key, null);
return value == null ? defaultValue : (T)Convert.ChangeType(value, typeof(T));
}
}
// 异步方法:从 HTTP 接口获取数据
public static async Task<string> FetchDataAsync()
{
using var client = new HttpClient();
client.Timeout = TimeSpan.FromSeconds(10);
return await client.GetStringAsync("https://httpbin.org/json");
}