C#之结构体(Struct)

本文深入探讨了C#中的结构体特性,包括其值类型的性质、如何存储多种数据类型、结构体与类的区别,以及提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C#中,结构体是值类型数据结构。它使得一个单一变量可以存储各种类型的数据。struct关键字用于创建结构体。

结构的特点:

1.结构体可带有方法、字段、索引、属性、运算符方法和事件
2.结构体是值类型,调用的时候不能new。
3.不能有析构函数,可以有实例构造函数和静态构造函数
4.结构可实现一个或多个接口。
5.与类不同,结构不能继承其他的结构或类
6.结构不能作为其他结构或类的基础结构

结构体和类的区别

1.结构体是值类型,它在栈中分配空间;类是引用类型,它在堆中分配空间,栈中保存引用
2.结构体中不可以对声明字段进行赋值,类可以
3.结构体中,无论我们有没有定义构造函数,隐式的构造函数一直存在
4.结构体中不能显示定义无参的构造函数
5.结构体构造函数必须为所有的字段声明
6.创建结构体的对象不能用new,类必须使用
7.结构体不能用abstract或者sealed修饰结构体,类可以
8.结构体不能定义析构函数,类可以
9.结构不支持继承

实例:

struct Books {
    private string title;
    private string author;
    private string subject;
    private int book_id;

    public void getValue(string t,string a,string s,int id) {
        title = t;
        author = a;
        subject = s;
        book_id = id;

    }
    public void display() {
        Console.WriteLine("Title:{0}", title);
        Console.WriteLine("Author:{0}", author);
        Console.WriteLine("Subject:{0}", subject);
        Console.WriteLine("Book_id:{0}",book_id);
    }
}
class Program {
    static void Main(string[] args) {
        Books Book1 = new Books();
        Books Book2 = new Books();
        Book1.getValue(" Programming", "Nuha Ali", " Programming Tutorial", 125412);
        Book2.getValue("Telecom Billing", "Zara Ali", " Programming ", 456745);

        Book1.display();
        Book2.display();

        Console.ReadKey();
    }
}

结果:
Title: Programming
Author:Nuha Ali
Subject: Programming Tutorial
Book_id:125412
Title:Telecom Billing
Author:Zara Ali
Subject: Programming
Book_id:456745

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值