< 返回教程列表
1.1 数据类型
1.1 变量与数据类型
知识介绍
C# 是强类型语言,变量在声明时必须指定类型。
值类型(栈上分配):
| 类型 | 说明 | 示例 |
|---|---|---|
int |
32位整数 | int age = 18; |
float |
32位浮点数 | float height = 1.75f; |
double |
64位浮点数 | double pi = 3.14159; |
bool |
布尔值 | bool isPass = true; |
char |
单个字符 | char grade = 'A'; |
decimal |
高精度小数(财务) | decimal money = 99.9m; |
byte |
8位无符号整数 | byte b = 255; |
引用类型(堆上分配):
| 类型 | 说明 | 示例 |
|---|---|---|
string |
字符串 | string name = "张三"; |
object |
所有类型基类 | object obj = 123; |
数组 |
同类型集合 | int[] nums = {1, 2, 3}; |
类型转换:
// 隐式转换(小范围 → 大范围,自动)
int i = 10;
double d = i; // 10.0
// 显式转换(大范围 → 小范围,需强转)
double dd = 3.14;
int ii = (int)dd; // 3(截断小数)
// Convert 类
string s = "123";
int num = Convert.ToInt32(s); // 123
// Parse
int n = int.Parse("456"); // 456
例题
例题1: 交换两个整型变量的值(不使用第三方变量)
int a = 5, b = 10;
Console.WriteLine($"交换前:a={a}, b={b}");
// 方法:加减交换
a = a + b; // a=15, b=10
b = a - b; // a=15, b=5
a = a - b; // a=10, b=5
Console.WriteLine($"交换后:a={a}, b={b}");
例题2: 摄氏度转华氏度,公式:F = C × 9/5 + 32
Console.Write("请输入摄氏度:");
double celsius = double.Parse(Console.ReadLine());
double fahrenheit = celsius * 9 / 5 + 32;
Console.WriteLine($"{celsius}℃ = {fahrenheit:F2}℉");
// 输入:25,输出:25℃ = 77.00℉
练习题
声明一个
string类型变量存储你的姓名,一个int变量存储年龄,一个float变量存储身高(米),然后格式化输出如:"我叫XXX,今年XX岁,身高XX米"。用户输入一个华氏温度,转换为摄氏度并输出。(公式:
C = (F - 32) × 5/9)用户输入一个3位整数,输出其百位、十位、个位数字之和。例如:输入
365,输出3+6+5=14。尝试将
string类型的"12.5"分别转换为int、double、decimal,看看哪些可以成功,失败的用TryParse实现安全转换。