第五章:C# 数据类型

本文介绍了C#中的数据类型,包括值类型(如简单类型、结构体和枚举)和引用类型(如类、接口、数组和字符串)。讨论了类型转换、变量作用域,并提供了关于字符串不可变性和类实例化过程的思考。还包含练习题以加深理解。
摘要由CSDN通过智能技术生成

数据类型是C#编程的基础,了解和掌握C#中的各种数据类型有助于更好地管理和操作数据。C#是一种强类型语言,这意味着在使用变量之前必须声明它们的类型。在本章中,我们将详细介绍C#中的各种数据类型,包括值类型和引用类型,以及如何在不同类型之间进行转换。

1. 值类型(Value Types)

值类型直接包含它们的数据。分配值类型变量时,实际的数据存储在变量分配的内存位置。C#中的值类型包括简单类型、结构体和枚举。

简单类型:

C# 提供了一些预定义的简单值类型,如整数类型、浮点类型、字符类型和布尔类型等。这些类型都派生自System.ValueType

整数类型:

byte a = 255;    // 8位无符号整数,范围 0 到 255
sbyte b = -128;  // 8位有符号整数,范围 -128 到 127
short c = -32768; // 16位有符号整数,范围 -32768 到 32767
ushort d = 65535; // 16位无符号整数,范围 0 到 65535
int e = -2147483648; // 32位有符号整数,范围 -2147483648 到 2147483647
uint f = 4294967295; // 32位无符号整数,范围 0 到 4294967295
long g = -9223372036854775808; // 64位有符号整数,范围 -9223372036854775808 到 9223372036854775807
ulong h = 18446744073709551615; // 64位无符号整数,范围 0 到 18446744073709551615

浮点类型:

float i = 3.14f; // 32位单精度浮点数
double j = 3.14; // 64位双精度浮点数
decimal k = 3.14m; // 128位高精度十进制数,通常用于金融和货币计算

字符类型:

char l = 'A'; // 16位Unicode字符

布尔类型:

bool m = true; // 布尔值,true 或 false

结构体(Structs):

结构体是值类型,用于封装一组相关的变量。这些变量可以是不同的数据类型。结构体通常用于表示小型数据结构。

示例:

struct Point
{
   
    public int X;
    public int Y;
}

Point p;
p.X = 10;
p.Y = 20;

Console.WriteLine($"Point: ({
     p.X}, {
     p.Y})");

枚举(Enums):

枚举是一种特殊的值类型,定义一组命名的整型常量。枚举类型用于表示具有一组离散值的变量。

示例:

enum Days {
    Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };

Days today = Days.Wednesday;
Console.WriteLine($"Today is: {
     today}");
2. 引用类型(Reference Types)

引用类型存储的是对象的引用,而不是对象的实际数据。分配引用类型变量时,变量存储的是数据的内存地址。C#中的引用类型包括类、接口、数组和字符串等。

类(Class):

类是创建对象的模板,定义了对象的属性和行为。类是引用类型。

示例:

class Person
{
   
    public string Name;
    public int Age;

    public void Introduce()
    {
   
        Console.WriteLine($"Hello, my name is {
     Name} and I am {
     Age} years old.");
    }
}

Person person = new Person();
person.Name = "Alice";
person.Age = 30;
person.Introduce();

接口(Interface):

接口定义了一组方法和属性的规范,但不提供具体实现。类或结构体可以实现一个或多个接口。

示例:

interface IAnimal
{
   
    void MakeSound();
}

class Dog : IAnimal
{
   
    public void MakeSound()
    {
   
        Console.WriteLine("Woof!");
    }
}

IAnimal myDog 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值