学习C#

学习C#之Structure

在我开始学习C#的structure时有个疑问,已经有了类为何还要用结构?


  • Understand the value type & reference type
    structure是值类型(Value type),class是引用类型(Reference type)
    而对于我这种对这种概念经常混淆的人,看到这两个词,嗯。。。这是什么?于是我去查查查~
    值类型
    单元直接存放“有效值“,简单的说就是箱子里放个皮球。
    structure就是箱子,专门用来放皮球的。
    例如:int value1=3;
    引用类型
    单元放的是另外一个对象的引用(地址) ,简单的理解就是箱子里面放的是皮球的地址。告诉你皮球放在哪里而不是放的皮球本身
    例如:
    Books book1=new Books();
  • Structure不支持继承
  • Structure 不能声明默认的构造函数
    a. 结构不能包含显式的无参数构造函数。结构成员讲自动初始化为它们的默认值。
    b. 结构不能包含以下形式的初始值设定类:base(argument-list);

宝宝有疑问什么时候用structure呢?
结构在堆栈中创建,是值类型,而类是引用类型。每当需要一种经常使用的类型,而且大多数情况下该类型只是一些数据时,使用结构能比使用类获得更佳性能。- [引用于某博主的话]

这是一段很容易懂的代码

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);
   }
   /*属于我们structure的构造函数!*/

};  

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();

   }
}

谢谢亲们围观,若有不足请指出。
NoHello_Kitty的第一篇学术博客。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值