讲述数据类型、类型转换、控制流语句以及断点的使用
- IDE:Visual Studio 2022
数据类型
基本数据类型
- 整型:
byte
(8位无符号整数,范围:0到255)sbyte
(8位有符号整数,范围:-128到127)short
(16位有符号整数,范围:-32,768到32,767)ushort
(16位无符号整数,范围:0到65,535)int
(32位有符号整数,范围:-2,147,483,648到2,147,483,647)uint
(32位无符号整数,范围:0到4,294,967,295)long
(64位有符号整数,范围:-9,223,372,036,854,775,808到9,223,372,036,854,775,807)ulong
(64位无符号整数,范围:0到18,446,744,073,709,551,615)
- 浮点型:
float
(单精度浮点数,范围:大约±1.5e−45到±3.4e38,精度:7位)double
(双精度浮点数,范围:大约±5.0e−324到±1.7e308,精度:15-16位)
- 高精度小数:
decimal
(128位精度小数,适用于金融和货币计算)
- 字符型:
char
(表示单个16位Unicode字符)
- 布尔型:
bool
(表示布尔值,true或false)
- 字符串:
string
(表示一系列字符)
- 对象类型:
- 用于表示任意类型的对象,使用
object
- 用于表示任意类型的对象,使用
- 枚举类型:
- 用于定义一组命名的常数值,使用
enum
- 用于定义一组命名的常数值,使用
- 数组类型:
- 用于存储一组相同类型的元素,使用
[]
- 用于存储一组相同类型的元素,使用
下面是部分数据类型的简单示例代码:
using System;
class Program
{
static void Main(string[] args)
{
// 整数类型示例
int integerNumber = 10;
long longNumber = 1000000000L;
short shortNumber = 100;
byte byteNumber = 200;
// 浮点数类型示例
float floatNumber = 3.14f;
double doubleNumber = 3.14159265358979;
// 布尔类型示例
bool isTrue = true;
bool isFalse = false;
// 字符类型示例
char character = 'A';
// 字符串类型示例
string message = "Hello, world!";
// 对象类型示例
object obj = new object();
// 枚举类型示例
enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };
Days today = Days.Wednesday;
// 数组类型示例
int[] numbers = { 1, 2, 3, 4, 5 };
}
}
数值类型自动转换
C# 支持一些数值类型之间的自动转换(隐式转换),不会导致数据丢失。这些转换包括:
byte
到short
,ushort
,int
,uint
,long
,ulong
,float
,double
,decimal
short
到int
,long
,float
,double
,decimal
int
到long
,float
,double
,decimal
long
到float
,double
,decimal
float
到double
char
到ushort
,int
,uint
,long
,ulong
,float
,double
,decimal
数值类型强制转换
对于可能导致数据丢失的转换,需要使用强制转换(显式转换)。语法如下:
int i = 12345;
short s = (short)i;
如果转换过程中数值超出目标类型范围,会导致数据丢失或产生不可预期的结果。
字符类型到值类型转换
char
类型可以转换为对应的数值类型:
char c = 'A';
int i = (int)c; // 转换为Unicode编码值
使用 Convert 类
Convert
类提供了很多方法来进行各种类型之间的转换:
string str = "123";
int num = Convert.ToInt32(str); // 字符串转换为整数
double d = Convert.ToDouble("123.45"); // 字符串转换为双精度浮点数
bool b = Convert.ToBoolean("true"); // 字符串转换为布尔值
if 条件语句
if
语句用于条件判断:
int x = 10;
if (x > 5)
{
Console.WriteLine("x 大于 5");
}
else
{
Console.WriteLine("x 小于或等于 5");
}
多条件选择与选择嵌套
多条件选择可以使用 else if
和嵌套 if
语句:
int x = 10;
if (x > 0)
{
if (x < 10)
{
Console.WriteLine("x 是一个正数且小于 10");
}
else
{
Console.WriteLine("x 是一个正数且大于或等于 10");
}
}
else
{
Console.WriteLine("x 是一个非正数");
}
断点及其使用
断点设置方法概览
- 打开代码文件。
- 在需要设置断点的行号左侧单击,或者按
F9
键。 - 调试时运行程序,程序会在断点处暂停。
什么是断点
断点是调试工具中的一种标记,用于暂停程序的执行,以便开发者检查程序的当前状态。通过断点,开发者可以逐步执行代码,观察变量的变化以及程序的执行流程。
断点的优缺点
优点:
- 逐步调试: 可以逐行执行代码,详细观察每一步的执行情况。
- 变量监控: 可以在断点处查看变量的值,检测程序运行时的数据状态。
- 问题定位: 方便找到程序中的错误或异常。
缺点:
- 影响性能: 在调试模式下运行程序,性能会有所下降。
- 时间消耗: 调试需要时间,可能会延长开发周期。
如何使用断点
- 设置断点:在Visual Studio中,点击代码行的左侧灰色区域,可以设置或取消断点。
- 运行调试:按F5启动调试模式,当程序运行到断点处时会自动暂停。
- 继续执行:按F5继续执行程序,按F10逐步执行下一行代码,按F11进入函数内部。
- 查看变量:暂停时可以将鼠标悬停在变量上查看其当前值,或在“监视”窗口中添加变量进行监视。
示例程序
using System;
namespace DebugExample
{
class Program
{
static void Main(string[] args)
{
int x = 10;
int y = 20;
int sum = Add(x, y);
Console.WriteLine($"Sum: {sum}");
}
static int Add(int a, int b)
{
int result = a + b;
return result;
}
}
}
在上述代码中,假设我们在int result = a + b;
这一行设置断点。当程序执行到此处时,会暂停,让我们检查变量a
和b
的值,以及计算result
的过程。
断点可以帮助检查变量值、观察程序执行流和查找错误。通过使用断点,我们可以有效地进行程序调试,找到并修复错误。