Latest web development tutorials

C # структура (Struct)

В C #, структура является типом значения структуры данных. Это позволяет одной переменной может хранить данные, относящиеся к различным типам данных.структура ключевое слово используется для создания структуры.

Структура используется для представления записи. Предположим, вы хотите, чтобы отслеживать динамические библиотеки книг. Вы можете следить за каждой книги из следующих признаков:

  • название
  • автор
  • субъект
  • Книга ID

Определение структуры

Для того, чтобы определить структуру, вы должны использовать STRUCT заявление. структура заявление на участие в программе определяет новый тип данных с более чем одним членом.

Например, вы можете объявить следующую структуру образом книги:

Struct Книги
{
   название общественного строка;
   автор публичного строка;
   субъект публичного строка;
   INT book_id общественности;
};  

Следующая программа демонстрирует использование структуры:

с помощью системы;
     
Struct Книги
{
   название общественного строка;
   автор публичного строка;
   субъект публичного строка;
   INT book_id общественности;
};  

общественного класса testStructure
{
   государственной статической силы основных (String [] агдз)
   {

      Книги Книга1; / * декларация Книга1, тип книги * /
      Книги Book2; / * декларация Book2, тип книги * /

      / * Книга 1 детализация * /
      Book1.title = "Программирование C";
      Book1.author = "Нуха Али"; 
      Book1.subject = "C программирование Учебник";
      Book1.book_id = 6495407;

      / * Книга 2 ПОДРОБНОЕ ОПИСАНИЕ * /
      Book2.title = "Телеком биллинга";
      Book2.author = "Зара Али";
      Book2.subject = "Телеком Billing Учебное пособие";
      Book2.book_id = 6495700;

      / * Печать Книга1 информация * /
      Console.WriteLine ( "Книга 1 Название: {0}", Book1.title);
      Console.WriteLine ( "Книга 1 автор: {0}", Book1.author);
      Console.WriteLine ( "Книга 1 Предмет: {0}", Book1.subject);
      Console.WriteLine ( "Книга 1 book_id: {0}", Book1.book_id);

      / * Печать Book2 информация * /
      Console.WriteLine ( "Книга 2 Название: {0}", Book2.title);
      Console.WriteLine ( "Книга 2 автор: {0}", Book2.author);
      Console.WriteLine ( "Книга 2 Предмет: {0}", Book2.subject);
      Console.WriteLine ( "Книга 2 book_id: {0}", Book2.book_id);       

      Console.ReadKey ();

   }
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Книга 1 Название: Программирование C
Книга 1 Автор: Нуха Али
Книга 1 Тема: C Руководство по программированию
Книга 1 book_id: 6495407
Книга 2 Название: Telecom Billing
Книга 2 Автор: Zara Али
Книга 2 Тема: Telecom Billing Учебное пособие
Книга 2 book_id: 6495700

Особенности C # Структура

Вы использовали простую структуру, называемую Книги. Различные структуры в C # и традиционной структуры C или C ++. C # в структуре характеристик:

  • Структура может иметь методы, поля, индексы, свойства, операторы, методы и события.
  • Структура может быть определен конструктор, но вы не можете определить деструктор. Тем не менее, вы не можете определить конструктор по умолчанию для структуры. Конструктор по умолчанию автоматически определяется и не может быть изменен.
  • В отличие от класса, структура не может наследовать от других структур или классов.
  • Структура не может служить в качестве основы Другой структуры или класса.
  • Структура может реализовать один или несколько интерфейсов.
  • Элемент структуры не может быть назначен в качестве реферата, виртуальной или защищенной.
  • При создании объекта конфигурации с помощьюнового оператора, он будет вызывать соответствующий конструктор для создания структуры.В отличие от класса, структуры не могут использовать новый оператор, чтобы быть создан.
  • Если вы не используете нового оператора, только после того, как все поля инициализируются, поле было только назначение, объект был только для использования.

Класс против структуры

Классы и структуры имеют следующие основные отличия:

  • Классы являются ссылочными типами, структура является типом значения.
  • Структура не поддерживает наследование.
  • Структура не может объявить конструктор по умолчанию.

Для приведенного выше обсуждения, давайте перепишем предыдущий пример:

с помощью системы;
     
Struct Книги
{
   частная строка заголовка;
   частная строка автора;
   частный субъект строка;
   частное INT book_id;
   общественного недействительными GetValues ​​(строка т, строку, строка S, Int ID)
   {
      название = т;
      автор = а;
      Subject = S;
      book_id = ID;
   }
   общественного недействительными дисплей ()
   {
      Console.WriteLine ( "Название: {0}", название);
      Console.WriteLine ( "Автор: {0}", автор);
      Console.WriteLine ( "Предмет: {0}", субъект);
      Console.WriteLine ( "Book_id: {0}", book_id);
   }

};  

общественного класса testStructure
{
   государственной статической силы основных (String [] агдз)
   {

      Книги Книга1 = новые книги (); / * декларация Книга1, тип книги * /
      Книги Book2 = новые книги (); / * декларация Book2, тип книги * /

      / * Книга 1 детализация * /
      Book1.getValues ​​( "Программирование C",
      "Нуха Али", "Учебное пособие по программированию C", 6495407);

      / * Книга 2 ПОДРОБНОЕ ОПИСАНИЕ * /
      Book2.getValues ​​( "Телеком биллинга",
      "Зара Али", "Телеком Billing Учебное пособие", 6495700);

      / * Печать Книга1 информация * /
      Book1.display ();

      / * Печать Book2 информация * /
      Book2.display (); 

      Console.ReadKey ();

   }
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Название: Программирование C
Автор: Нуха Али
Тема: C Руководство по программированию
Book_id: 6495407
Название: Telecom Billing
Автор: Zara Али
Тема: Telecom Billing Учебное пособие
Book_id: 6495700