在C#中,结构(struct)是一种将各种数据类型的变量组合在一起的值类型。尽管它们与类(class)非常相似,都是用户定义的数据类型,可以存储大量不同的数据类型,但结构是值类型,而类是引用类型。用户可以根据需要定义结构,因此它也被称为用户定义的数据类型。
在C#中使用struct
关键字来定义结构。一个结构可以包含构造函数、常量、字段、方法、属性、索引器、事件等元素。
C#struct MyStruct
{
public int MyField;
public void MyMethod()
{
// 方法体
}
}
C#struct Book
{
public string Title;
public string Author;
public int Pages;
public Book(string title, string author, int pages)
{
Title = title;
Author = author;
Pages = pages;
}
public void DisplayInfo()
{
Console.WriteLine($"Title: {Title}, Author: {Author}, Pages: {Pages}");
}
}
结构不能有无参数的构造函数。它只能有静态构造函数或参数化构造函数。
C#struct Point
{
public int X;
public int Y;
public Point(int x, int y)
{
X = x;
Y = y;
}
}
与类类似,结构可以有方法、自动实现的属性和其他属性。
C#struct Rectangle
{
public int Width { get; set; }
public int Height { get; set; }
public int Area()
{
return Width * Height;
}
}
结构可以包含静态方法。
C#struct Counter
{
public static int Count;
static Counter()
{
Count = 0;
}
public void Increment()
{
Count++;
}
}
结构可以包含事件,以通知订阅者某个动作的发生。
C#struct Timer
{
public event EventHandler Tick;
public void OnTick()
{
if (Tick != null)
{
Tick(this, EventArgs.Empty);
}
}
}
在C#中,可以使用“=”(赋值)运算符将一个结构对象复制到另一个结构对象。
C#struct Person
{
public string Name;
public int Age;
}
Person person1 = new Person { Name = "Alice", Age = 30 };
Person person2 = person1;
通过本文,我们了解了C#中结构的定义、特点、优势和缺点,并通过多个示例展示了结构的使用方法。希望这些内容对您有所帮助,祝您编码愉快!
本文作者:rick
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!