一、C# 入门基础
1. 什么是 C#?
简单说,C# 是一种编程语言,就像我们说话的中文、英文一样,是人和电脑沟通的工具。它能用来做很多事:比如做 Windows 系统的软件、网页、手机 APP,甚至 Unity 游戏开发也常用它。
2. 准备工具
学 C# 得有个 “写字板” 和 “运行器”,推荐用Visual Studio(简称 VS),这是微软专门为 C# 等语言做的工具,免费版就够用。
- 安装:去微软官网搜 “Visual Studio Community”,下载后按提示安装,记得选上 “.NET 桌面开发” 这个选项。
- 第一个程序:打开 VS,点 “创建新项目”,选 “控制台应用”,起个名字(比如 “HelloWorld”),点 “创建”。VS 会自动生成一段代码,点上面的 “启动” 按钮(绿色三角),就能看到程序运行结果啦。
3. 第一个程序详解
using System; // 引用系统工具包,就像用手机前要先解锁
namespace HelloWorld // 给代码起个“文件夹名”,方便管理
{
class Program // 代码的“容器”,就像装东西的盒子
{
// 程序的入口,电脑从这里开始执行代码
static void Main(string[] args)
{
Console.WriteLine("你好,世界!"); // 打印一句话到屏幕上
}
}
}
运行后会弹出一个黑窗口,显示 “你好,世界!”,这就是最基础的程序啦。
二、数据和变量
1. 数据类型(电脑能存哪些东西)
- 整数:int,比如年龄 18、数量 5,能存 - 20 亿到 20 亿之间的数。
- 小数:double,比如 3.14、0.5,能存带小数点的数。
- 文字:string,用双引号括起来,比如 "张三"、"abc"。
- 真假:bool,只有两个值:true(真)和false(假),比如 “今天下雨吗?” 的答案。
2. 变量(给数据起个名字)
就像给杯子贴标签,方便以后用。
int 年龄 = 20; // 定义一个整数变量“年龄”,值是20
string 名字 = "小明"; // 定义一个文字变量“名字”,值是“小明”
double 身高 = 1.75; // 定义一个小数变量“身高”,值是1.75
// 还可以用var让电脑自己猜类型
var 爱好 = "打球"; // 电脑会自动认出“爱好”是string类型
3. 常量(固定不变的值)
有些值从始至终都不变,比如圆周率 π,就可以定义成常量。
const double 圆周率 = 3.14159; // 用const声明,一旦定义就改不了
三、运算和判断
1. 基本运算
和数学里的加减乘除差不多:
int a = 10;
int b = 3;
int 和 = a + b; // 13
int 差 = a - b; // 7
int 积 = a * b; // 30
int 商 = a / b; // 3(整数相除只保留整数部分)
int 余数 = a % b; // 1(10除以3余1)
2. 判断语句(if...else)
就像生活中做选择:“如果下雨就带伞,否则不带”。
int 分数 = 75;
if (分数 >= 60) // 如果分数大于等于60
{
Console.WriteLine("及格啦!");
}
else // 否则(分数小于60)
{
Console.WriteLine("要补考哦~");
}
还可以多条件判断:
int 年龄 = 15;
if (年龄 < 12)
{
Console.WriteLine("儿童");
}
else if (年龄 < 18) // 前面条件不满足时,再判断这个
{
Console.WriteLine("青少年");
}
else
{
Console.WriteLine("成年人");
}
3. 循环语句(重复做一件事)
- for 循环:知道要做几次的时候用。比如从 1 数到 5:
for (int i = 1; i <= 5; i++) // i从1开始,每次加1,直到i>5停止
{
Console.WriteLine(i); // 依次打印1、2、3、4、5
}
- while 循环:不知道要做几次,只要条件满足就一直做。比如猜数字,直到猜对为止:
int 正确数字 = 7;
int 猜的数字 = 0;
while (猜的数字 != 正确数字) // 只要没猜对就一直循环
{
Console.Write("猜一个数字:");
猜的数字 = int.Parse(Console.ReadLine()); // 读入输入的数字
}
Console.WriteLine("猜对啦!");
四、数据集合(装一堆数据的容器)
1. 数组(固定大小的盒子)
就像一排大小一样的格子,每个格子放一个数据,数量一开始就定好不能改。
// 定义一个能装3个整数的数组
int[] 成绩 = new int[3];
成绩[0] = 90; // 第一个格子(索引从0开始)放90
成绩[1] = 85; // 第二个格子放85
成绩[2] = 95; // 第三个格子放95
// 也可以直接赋值
string[] 水果 = { "苹果", "香蕉", "橘子" };
// 用循环遍历数组里的所有数据
for (int i = 0; i < 水果.Length; i++) // Length是数组的长度
{
Console.WriteLine(水果[i]);
}
2. 列表(List,可伸缩的袋子)
数组大小固定不方便,列表就像能变大变小的袋子,想放多少放多少。
// 先引用System.Collections.Generic这个工具包
using System.Collections.Generic;
// 定义一个装字符串的列表
List<string> 动物 = new List<string>();
// 往列表里加东西
动物.Add("猫");
动物.Add("狗");
动物.Add("兔子");
// 查看列表里有几个元素
Console.WriteLine("动物数量:" + 动物.Count); // 输出3
// 遍历列表(用foreach更简单)
foreach (string 动物名 in 动物)
{
Console.WriteLine(动物名);
}
// 移除元素
动物.Remove("狗"); // 把“狗”从列表里删掉
3. 字典(Dictionary,键值对容器)
就像查字典,通过 “拼音”(键)找到 “汉字”(值),一一对应。
// 定义一个键是int类型,值是string类型的字典
Dictionary<int, string> 学号对应姓名 = new Dictionary<int, string>();
// 添加键值对
学号对应姓名.Add(101, "张三");
学号对应姓名.Add(102, "李四");
// 通过键找值
Console.WriteLine(101号的姓名:" + 学号对应姓名[101]); // 输出张三
五、面向对象(重点中的重点)
1. 类和对象(用代码描述现实中的东西)
- 类:就像 “图纸”。比如 “汽车图纸”,规定了汽车有轮子、能跑。
- 对象:根据图纸做出来的 “实物”。比如用汽车图纸造出来的具体某辆汽车。
// 定义一个“人”类(图纸)
class 人
{
// 字段(属性):人有姓名、年龄
public string 姓名;
public int 年龄;
// 方法(行为):人会说话
public void 说话()
{
Console.WriteLine("我叫" + 姓名 + ",今年" + 年龄 + "岁");
}
}
// 创建对象(根据图纸造实物)
人 小明 = new 人();
小明.姓名 = "小明"; // 给对象的属性赋值
小明.年龄 = 18;
小明.说话(); // 调用对象的方法,会输出“我叫小明,今年18岁”
2. 构造函数(创建对象时初始化)
上面给小明赋值有点麻烦,构造函数能在创建对象时就把属性设好。
class 人
{
public string 姓名;
public int 年龄;
// 构造函数(和类名一样)
public 人(string 姓名, int 年龄)
{
this.姓名 = 姓名; // this代表当前对象
this.年龄 = 年龄;
}
public void 说话()
{
Console.WriteLine("我叫" + 姓名 + ",今年" + 年龄 + "岁");
}
}
// 创建对象时直接传值
人 小红 = new 人("小红", 20);
小红.说话(); // 输出“我叫小红,今年20岁”
3. 继承(子承父业)
比如 “学生” 也是 “人”,学生继承了人的姓名、年龄,还多了 “学号” 这个属性。
// 父类(基类)
class 人
{
public string 姓名;
public int 年龄;
}
// 子类(派生类),用:表示继承
class 学生 : 人
{
public string 学号; // 学生特有的属性
public void 学习()
{
Console.WriteLine(姓名 + "在学习,学号是" + 学号);
}
}
// 使用
学生 小刚 = new 学生();
小刚.姓名 = "小刚"; // 继承了父类的姓名
小刚.学号 = "2023001";
小刚.学习(); // 输出“小刚在学习,学号是2023001”
六、异常处理(程序出错了怎么办)
就像生活中难免犯错,程序也可能出错(比如输入的不是数字),异常处理能让程序出错时不崩溃,还能友好提示。
try
{
Console.Write("请输入一个数字:");
string 输入 = Console.ReadLine();
int 数字 = int.Parse(输入); // 如果输入的不是数字,这里会出错
Console.WriteLine("你输入的是:" + 数字);
}
catch
{
// 出错时执行这里
Console.WriteLine("输入错误!请输入数字哦~");
}
七、小技巧和规范
- 注释:给代码写说明,电脑会忽略注释内容,方便自己和别人看懂。
// 这是单行注释
/*
这是多行注释
可以写很多行
*/
- 命名规范:起名字要有意义,比如存年龄就叫 “年龄” 或 “age”,别叫 “a”“b”。
- 调试:程序出问题时,用 VS 的调试功能(打断点),一步步看代码执行过程,找错误在哪。
八、下一步学什么
- 多写代码:比如做个简单的计算器、学生信息管理小工具。
- 学 Windows 窗体(WinForm):做带按钮、输入框的图形界面程序。
- 学ASP.NET Core:用 C# 做网页。
- 学 Unity:用 C# 做游戏。
记住,编程是练出来的,多看例子、多动手写,慢慢就会啦!
3万+

被折叠的 条评论
为什么被折叠?



