C#基础三

讲述数据类型、类型转换、控制流语句以及断点的使用

  • 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# 支持一些数值类型之间的自动转换(隐式转换),不会导致数据丢失。这些转换包括:

  • byteshort, ushort, int, uint, long, ulong, float, double, decimal
  • shortint, long, float, double, decimal
  • intlong, float, double, decimal
  • longfloat, double, decimal
  • floatdouble
  • charushort, 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 是一个非正数");
}

断点及其使用

断点设置方法概览
  1. 打开代码文件。
  2. 在需要设置断点的行号左侧单击,或者按 F9 键。
  3. 调试时运行程序,程序会在断点处暂停。
什么是断点

断点是调试工具中的一种标记,用于暂停程序的执行,以便开发者检查程序的当前状态。通过断点,开发者可以逐步执行代码,观察变量的变化以及程序的执行流程。

断点的优缺点

优点

  • 逐步调试: 可以逐行执行代码,详细观察每一步的执行情况。
  • 变量监控: 可以在断点处查看变量的值,检测程序运行时的数据状态。
  • 问题定位: 方便找到程序中的错误或异常。

缺点

  • 影响性能: 在调试模式下运行程序,性能会有所下降。
  • 时间消耗: 调试需要时间,可能会延长开发周期。
如何使用断点
  1. 设置断点:在Visual Studio中,点击代码行的左侧灰色区域,可以设置或取消断点。
  2. 运行调试:按F5启动调试模式,当程序运行到断点处时会自动暂停。
  3. 继续执行:按F5继续执行程序,按F10逐步执行下一行代码,按F11进入函数内部。
  4. 查看变量:暂停时可以将鼠标悬停在变量上查看其当前值,或在“监视”窗口中添加变量进行监视。
示例程序
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;这一行设置断点。当程序执行到此处时,会暂停,让我们检查变量ab的值,以及计算result的过程。

断点可以帮助检查变量值、观察程序执行流和查找错误。通过使用断点,我们可以有效地进行程序调试,找到并修复错误。

  • 55
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 28
    评论
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ak2111

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值