在 C# 中,结构是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构。
结构是用来代表一个记录。假设您想跟踪图书馆中书的动态。您可能想跟踪每本书的以下属性:
为了定义一个结构,您必须使用 struct 语句。struct 语句为程序定义了一个带有多个成员的新的数据类型。
例如,您可以按照如下的方式声明 Book 结构:
struct Books |
{ |
public string title; |
public string author; |
public string subject; |
public int book_id; |
}; |
using System; |
struct Books |
{ |
public string title; |
public string author; |
public string subject; |
public int book_id; |
}; |
public class testStructure |
{ |
public static void Main(string[] args) |
{ |
Books Book1; /* 声明 Book1,类型为 Book */ |
Books Book2; /* 声明 Book2,类型为 Book */ |
/* book 1 详述 */ |
Book1.title = "C Programming"; |
Book1.author = "Nuha Ali"; |
Book1.subject = "C Programming Tutorial"; |
Book1.book_id = 6495407; |
/* book 2 详述 */ |
Book2.title = "Telecom Billing"; |
Book2.author = "Zara Ali"; |
Book2.subject = "Telecom Billing Tutorial"; |
Book2.book_id = 6495700; |
/* 打印 Book1 信息 */ |
Console.WriteLine( "Book 1 title : {0}", Book1.title); |
Console.WriteLine("Book 1 author : {0}", Book1.author); |
Console.WriteLine("Book 1 subject : {0}", Book1.subject); |
Console.WriteLine("Book 1 book_id :{0}", Book1.book_id); |
/* 打印 Book2 信息 */ |
Console.WriteLine("Book 2 title : {0}", Book2.title); |
Console.WriteLine("Book 2 author : {0}", Book2.author); |
Console.WriteLine("Book 2 subject : {0}", Book2.subject); |
Console.WriteLine("Book 2 book_id : {0}", Book2.book_id); |
Console.ReadKey(); |
} |
} |
Book 1 title : C Programming |
Book 1 author : Nuha Ali |
Book 1 subject : C Programming Tutorial |
Book 1 book_id : 6495407 |
Book 2 title : Telecom Billing |
Book 2 author : Zara Ali |
Book 2 subject : Telecom Billing Tutorial |
Book 2 book_id : 6495700 |
您已经用了一个简单的名为 Books 的结构。在 C# 中的结构与传统的 C 或 C++ 中的结构不同。C# 中的结构有以下特点:
类和结构有以下几个基本的不同点:
针对上述讨论,让我们重写前面的实例:
using System; |
struct Books |
{ |
private string title; |
private string author; |
private string subject; |
private int book_id; |
public void getValues(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); |
} |
}; |
public class testStructure |
{ |
public static void Main(string[] args) |
{ |
Books Book1 = new Books(); /* 声明 Book1,类型为 Book */ |
Books Book2 = new Books(); /* 声明 Book2,类型为 Book */ |
/* book 1 详述 */ |
Book1.getValues("C Programming", |
"Nuha Ali", "C Programming Tutorial",6495407); |
/* book 2 详述 */ |
Book2.getValues("Telecom Billing", |
"Zara Ali", "Telecom Billing Tutorial", 6495700); |
/* 打印 Book1 信息 */ |
Book1.display(); |
/* 打印 Book2 信息 */ |
Book2.display(); |
Console.ReadKey(); |
} |
} |
Title : C Programming |
Author : Nuha Ali |
Subject : C Programming Tutorial |
Book_id : 6495407 |
Title : Telecom Billing |
Author : Zara Ali |
Subject : Telecom Billing Tutorial |
Book_id : 6495700 |