C# 结构体

时间:2020-08-08 17:51:39   收藏:0   阅读:80

C# 结构体(Struct)

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

结构体是用来代表一个记录。假设想跟踪图书馆中书的动态。可能需要跟踪每本书的以下属性:

  • Title
  • Author
  • Subject
  • Book ID

定义结构体

为了定义一个结构体,必须使用 struct 语句。struct 语句为程序定义了一个带有多个成员的新的数据类型。

例如,可以按照如下的方式声明 Book 结构:

struct Books
{
   public string title;
   public string author;
   public string subject;
   public int book_id;
};
Books bookA;
            bookA.title = "The Hitchhiker‘s Guide to the Galaxy";
            bookA.author = "DouglasAdams";
            bookA.subject = "Since";
            bookA.book_id = 424242;
            Books bookB;
            bookB.author = "undefined";
            //Console.WriteLine($"《{bookB.title}》 are {bookB.subject} subject written by{bookB.author}");
            //结构体不使用New的话无法直接调用属性 , 属性值赋值完才可以调用,有默认空构造函数
            Console.WriteLine($"《{bookA.title}》 are {bookA.subject} subject written by{bookA.author}");
《The Hitchhikers Guide to the Galaxy》 are Since subject written byDouglasAdams

C# 结构的特点

您已经用了一个简单的名为 Books 的结构。在 C# 中的结构与传统的 C 或 C++ 中的结构不同。C# 中的结构有以下特点:

类 vs 结构

类和结构有以下几个基本的不同点:

针对上述讨论,让我们重写前面的实例:

 Books bookC = new Books();
            bookC.initValue("Dawn Blossoms Plucked at Dusk", "LuXun", "Collection of essays");
            bookC.showDetail();

struct Books
        {
            public string title;
            public string author;
            public string subject;
            public int book_id;
            public void initValue(params string[] val)
            {
                title = val[0];
                author = val[1];
                subject = val[2];
                book_id = (int)DateTime.Now.Ticks;
            }
            public void showDetail()
            {
                Console.WriteLine($"《{title}》 are {subject} subject written by {author}");
            }
        };

 

《Dawn Blossoms Plucked at Dusk》 are Collection of essays subject written by LuXun

 

原文:https://www.cnblogs.com/xqher/p/13457428.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!