C# 基础入门指南:从零开始学习 C# 编程
一、什么是 C#?
C#(读作 "C Sharp")是微软开发的一种面向对象、类型安全的编程语言,运行在 .NET 框架之上。它结合了 C/C++ 的强大功能和 Java 的简洁性,广泛应用于:
- 桌面应用开发(WinForms、WPF)
- Web 应用开发(ASP.NET)
- 游戏开发(Unity 引擎)
- 移动开发(Xamarin)
- 云服务和微服务
二、开发环境搭建
安装 .NET SDK
- 下载并安装最新版本的 .NET SDK
- 打开命令行(CMD 或 PowerShell),输入以下命令验证安装:
dotnet --version如果显示版本号,说明安装成功。
选择 IDE
| IDE | 适用场景 | 价格 |
|---|---|---|
| Visual Studio | 企业级开发,功能最全 | 社区版免费 |
| Visual Studio Code | 轻量级开发,跨平台 | 免费 |
| JetBrains Rider | 专业 .NET 开发 | 付费 |
三、你的第一个 C# 程序
创建项目
打开终端,执行以下命令:
dotnet new console -n HelloWorld cd HelloWorld编写代码
打开Program.cs文件,写入以下代码:
using System; namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); Console.WriteLine("欢迎学习 C# 编程!"); } } }运行程序
dotnet run输出结果:
Hello, World! 欢迎学习 C# 编程!四、C# 基础语法
1. 变量与数据类型
C# 是强类型语言,声明变量时必须指定类型。
// 值类型 int age = 25; // 整数 double price = 19.99; // 双精度浮点数 float pi = 3.14f; // 单精度浮点数 decimal salary = 5000.00m; // 高精度十进制数 char grade = 'A'; // 字符 bool isActive = true; // 布尔值 // 引用类型 string name = "张三"; // 字符串 object obj = "任何类型"; // 所有类型的基类2. 类型推断 - var 关键字
var message = "Hello"; // 编译器自动推断为 string var count = 100; // 编译器自动推断为 int3. 常量
const double PI = 3.14159; const string AppName = "我的应用";4. 字符串操作
string firstName = "张"; string lastName = "三"; // 字符串拼接 string fullName = firstName + lastName; // 字符串插值(推荐) string greeting = $"你好,{fullName}!"; // 字符串方法 string text = " Hello World "; Console.WriteLine(text.Length); // 输出长度 Console.WriteLine(text.Trim()); // 去除首尾空格 Console.WriteLine(text.ToUpper()); // 转大写 Console.WriteLine(text.Replace("World", "C#")); // 替换五、控制流语句
if-else 条件判断
int score = 85; if (score >= 90) { Console.WriteLine("优秀"); } else if (score >= 80) { Console.WriteLine("良好"); } else if (score >= 60) { Console.WriteLine("及格"); } else { Console.WriteLine("不及格"); }switch 语句
string day = "周一"; switch (day) { case "周一": Console.WriteLine("新的一周开始"); break; case "周五": Console.WriteLine("即将周末"); break; case "周六": case "周日": Console.WriteLine("周末愉快"); break; default: Console.WriteLine("工作日"); break; }循环语句
// for 循环 for (int i = 0; i < 5; i++) { Console.WriteLine($"第 {i + 1} 次循环"); } // foreach 循环 string[] fruits = { "苹果", "香蕉", "橙子" }; foreach (string fruit in fruits) { Console.WriteLine(fruit); } // while 循环 int count = 0; while (count < 3) { Console.WriteLine($"计数: {count}"); count++; }六、数组与集合
数组
// 声明并初始化数组 int[] numbers = { 1, 2, 3, 4, 5 }; string[] names = new string[3] { "Tom", "Jerry", "Spike" }; // 访问数组元素 Console.WriteLine(numbers[0]); // 输出 1 Console.WriteLine(names[1]); // 输出 Jerry // 数组长度 Console.WriteLine($"数组长度: {numbers.Length}");List 集合
using System.Collections.Generic; // 创建 List List<string> cities = new List<string>(); cities.Add("北京"); cities.Add("上海"); cities.Add("广州"); // 遍历 List foreach (string city in cities) { Console.WriteLine(city); } // List 常用方法 Console.WriteLine(cities.Count); // 元素个数 cities.Remove("上海"); // 删除元素 cities.Contains("北京"); // 是否包含七、方法(函数)
// 定义方法 static int Add(int a, int b) { return a + b; } // 带默认参数的方法 static void Greet(string name, string greeting = "你好") { Console.WriteLine($"{greeting},{name}!"); } // 调用方法 int sum = Add(10, 20); Console.WriteLine($"10 + 20 = {sum}"); Greet("小明"); // 输出:你好,小明! Greet("小明", "早上好"); // 输出:早上好,小明!八、面向对象编程基础
类与对象
// 定义一个类 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 Introduce() { Console.WriteLine($"我叫 {Name},今年 {Age} 岁。"); } } // 创建对象并使用 Person person = new Person("小李", 25); person.Introduce();继承
// 基类 public class Animal { public string Name { get; set; } public virtual void MakeSound() { Console.WriteLine("动物发出声音"); } } // 派生类 public class Dog : Animal { public override void MakeSound() { Console.WriteLine("汪汪!"); } } // 使用继承 Dog dog = new Dog(); dog.Name = "旺财"; dog.MakeSound(); // 输出:汪汪!九、异常处理
try { int[] arr = { 1, 2, 10 }; int result = arr[5]; // 会引发异常 } catch (IndexOutOfBoundsException ex) { Console.WriteLine($"数组越界:{ex.Message}"); } catch (Exception ex) { Console.WriteLine($"发生错误:{ex.Message}"); } finally { Console.WriteLine("无论是否出错都会执行"); }十、实战小练习:简易计算器
using System; class Calculator { static void Main(string[] args) { Console.WriteLine("=== 简易计算器 ==="); Console.Write("请输入第一个数字:"); double num1 = Convert.ToDouble(Console.ReadLine()); Console.Write("请输入运算符(+、-、*、/):"); string op = Console.ReadLine(); Console.Write("请输入第二个数字:"); double num2 = Convert.ToDouble(Console.ReadLine()); double result = 0; switch (op) { case "+": result = num1 + num2; break; case "-": result = num1 - num2; break; case "*": result = num1 * num2; break; case "/": if (num2 != 0) { result = num1 / num2; } else { Console.WriteLine("除数不能为 0"); return; } break; default: Console.WriteLine("无效的运算符"); return; } Console.WriteLine($"结果:{num1} {op} {num2} = {result}"); } }总结
本文介绍了 C# 的核心基础知识:
| 知识点 | 说明 |
|---|---|
| 变量和数据类型 | 掌握值类型和引用类型 |
| 控制流 | if、switch、循环 |
| 数组和集合 | List、数组的使用 |
| 面向对象 | 类、继承、多态 |
| 异常处理 | try-catch 机制 |
