C# structures 0011

Defining a Structure

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
struct Books
{
    public string title;
    public string author;
    public string subject;
    public int book_id;

};
namespace testStructure
{

public class testStructure
{
        static void Main(string[] args)
        {
        Books Book1;   /* Declare Book1 of type Book */
        Books Book2;   /* Declare Book2 of type Book */

        /* book 1 specification */
        Book1.title = "C Programming";
        Book1.author = "Nuha Ali";
        Book1.subject = "C Programming Tutorial";
        Book1.book_id = 6495407;

        /* book 2 specification */
        Book2.title = "Telecom Billing";
        Book2.author = "Zara Ali";
        Book2.subject = "Telecom Billing Tutorial";
        Book2.book_id = 6495700;
        /*print Book1 info*/
        Console.WriteLine("Book1 title:{0}", Book1.title);
        Console.WriteLine("Book1 author:{0}", Book1.author);
        Console.WriteLine("Book1 subject:{0}", Book1.subject);
        Console.WriteLine("Book1 book_id:{0}", Book1.book_id);


        Console.WriteLine("Book2 title:{0}", Book2.title);
        Console.WriteLine("Book2 author:{0}", Book2.author);
        Console.WriteLine("Book2 subject:{0}", Book2.subject);
        Console.WriteLine("Book2 book_id:{0}", Book2.book_id);
        Console.ReadKey();
    }
    }
}

output:
Book1 title:C Programming
Book1 author:Nuha Ali
Book1 subject:C Programming Tutorial
Book1 book_id:6495407
Book2 title:Telecom Billing
Book2 author:Zara Ali
Book2 subject:Telecom Billing Tutorial
Book2 book_id:6495700

Features of C# Structures

You have already used a simple structure named Books. Structures in C# are quite different from that in traditional C or C++. The C# structures have the following features:

  1. Structures can have methods, fields, indexers, properties, operator methods, and events.
  2. Structures can have defined constructors, but not destructors. However, you cannot define a default constructor for a structure. The default constructor is automatically defined and cannot be changed.
  3. Unlike classes, structures cannot inherit other structures or classes.
  4. Structures cannot be used as a base for other structures or classes.
  5. A structure can implement one or more interfaces.
  6. Structure members cannot be specified as abstract, virtual, or protected.
  7. When you create a struct object using the New operator, it gets created and the appropriate constructor is called. Unlike classes, structs can be instantiated without using the New operator.
  8. If the New operator is not used, the fields remain unassigned and the object cannot be used until all the fields are initialized.

Class vs Structure

  • classes are reference types and structs are value types.
  • structures do not support inheritance.
  • structures can not have defualt constructor.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
struct Books
{
    public string title;
    public string author;
    public string subject;
    public 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);
    }
};
namespace testStructure
{

    public class testStructure
    {
        static void Main(string[] args)
        {
            Books Book1 = new Books();   /* Declare Book1 of type Book */
            Books Book2 = new Books();   /* Declare Book2 of type Book */
                                         /* book 1 specification */
            Book1.getValues("C programming", "Nuha Ali", "C Programming Tutorial", 6495407);
            /* book 2 specification */
            Book2.getValues("Telecom Billing", "Zara Ali", "Telecom Billing Tutorial", 64957007);
            /* print Book1 info */
            Book1.display();
            Book2.display();
            Console.ReadKey();


        }
    }
}

output:
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 :64957007

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值