在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。
结构体是用来代表一个记录。假设想跟踪图书馆中书的动态。可能需要跟踪每本书的以下属性:
为了定义一个结构体,必须使用 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 Hitchhiker‘s Guide to the Galaxy》 are Since subject written byDouglasAdams
您已经用了一个简单的名为 Books 的结构。在 C# 中的结构与传统的 C 或 C++ 中的结构不同。C# 中的结构有以下特点:
类和结构有以下几个基本的不同点:
针对上述讨论,让我们重写前面的实例:
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