Latest web development tutorials

C estrutura # (struct)

Em C #, a estrutura é um tipo de estrutura de dados de valor. Ele permite que uma única variável pode armazenar dados relacionados com os vários tipos de dados.struct chave é usada para criar uma estrutura.

Estrutura é usada para representar um recorde. Suponha que você deseja acompanhar livros da biblioteca dinâmicos. Você pode querer manter o controle de cada livro dos seguintes atributos:

  • título
  • autor
  • assunto
  • book ID

estrutura de definição

Para definir uma estrutura, você deve usar uma declaração struct. declaração estrutura para o programa define um novo tipo de dados com mais do que um membro da.

Por exemplo, você pode declarar a seguinte estrutura forma do livro:

struct Livros
{
   título cadeia pública;
   autor cadeia pública;
   sujeita cadeia pública;
   book_id int pública;
};  

O programa seguinte demonstra o uso da estrutura:

using System;
     
struct Livros
{
   título cadeia pública;
   autor cadeia pública;
   sujeita cadeia pública;
   book_id int pública;
};  

testStructure classe pública
{
   public static void Main (string [] args)
   {

      Livros Livro1; / * declaração Book1, tipo de livro * /
      Livros Book2; / * declaração Book2, escreva Livro * /

      / * Livro 1 detalhando * /
      Book1.title = "C Programming";
      Book1.author = "Nuha Ali"; 
      Book1.subject = "Programação Tutorial C";
      Book1.book_id = 6495407;

      / * Livro 2 DETALHADA DESCRIÇÃO * /
      Book2.title = "Faturamento Telecom";
      Book2.author = "Zara Ali";
      Book2.subject = "Billing Tutorial Telecom";
      Book2.book_id = 6495700;

      / * Imprimir informações Book1 * /
      Console.WriteLine ( "Livro 1 Título: {0}", Book1.title);
      Console.WriteLine ( "Book 1 Autor: {0}", Book1.author);
      Console.WriteLine ( "Book 1 assunto: {0}", Book1.subject);
      Console.WriteLine ( "Book 1 book_id: {0}", Book1.book_id);

      / * Imprimir informações Book2 * /
      Console.WriteLine ( "Livro 2 Título: {0}", Book2.title);
      Console.WriteLine ( "Livro 2 author: {0}", Book2.author);
      Console.WriteLine ( "Livro 2 assunto: {0}", Book2.subject);
      Console.WriteLine ( "Livro 2 book_id: {0}", Book2.book_id);       

      Console.ReadKey ();

   }
}

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

Livro 1 Título: C Programming
Book 1 Autor: Nuha Ali
Livro 1 assunto: Tutorial de programação C
Livro 1 book_id: 6.495.407
Livro 2 Título: Telecom Billing
Livro 2 Autor: Zara Ali
Livro 2 Assunto: Telecom Tutorial Billing
Livro 2 book_id: 6.495.700

Características C # Estrutura

Você usou uma estrutura simples chamada Livros de. estruturas diferentes em C # e a estrutura tradicional do C ou C ++. C # nas características da estrutura:

  • Estrutura pode ter métodos, campos, índices, propriedades, operadores, métodos e eventos.
  • Estrutura pode ser definida construtor, mas você não pode definir um destruidor. No entanto, você não pode definir um construtor padrão para a estrutura. O construtor padrão é automaticamente definido e não pode ser alterado.
  • Ao contrário de uma classe, estrutura não pode herdar de outras estruturas ou classes.
  • Estrutura não pode servir de base a outra estrutura ou classe.
  • Estrutura pode implementar uma ou mais interfaces.
  • membro de estrutura não pode ser designado como o abstrato, virtual ou protegido.
  • Quando você cria um objeto de configuração utilizandoo operador novo,ele vai chamar o construtor apropriado para criar uma estrutura. Ao contrário de uma classe, estruturas não podem usar o novo operador a ser instanciado.
  • Se você não usar o novo operador, somente após todos os campos são inicializados, o campo foi apenas atribuição, o objeto era apenas para usar.

Classe vs estrutura

Classes e estruturas têm as seguintes diferenças básicas:

  • As classes são tipos de referência, a estrutura é um tipo de valor.
  • Estrutura não suporta herança.
  • Estrutura não pode declarar um construtor padrão.

Para a discussão acima, vamos reescrever o exemplo anterior:

using System;
     
struct Livros
{
   título cadeia privada;
   autor cadeia privada;
   sujeita cadeia privada;
   book_id int privado;
   getValues ​​public void (String t, String Um, corda s, int id)
   {
      title = t;
      Author = a;
      subject = s;
      book_id = id;
   }
   exibição public void ()
   {
      Console.WriteLine ( "Título: {0}", título);
      Console.WriteLine ( "Autor: {0}", autor);
      Console.WriteLine ( "Subject: {0}", assunto);
      Console.WriteLine ( "Book_id: {0}", book_id);
   }

};  

testStructure classe pública
{
   public static void Main (string [] args)
   {

      Livros Livro1 = new Books (); / * declaração Book1, tipo de livro * /
      Livros Book2 = new Books (); / * declaração Book2, escreva Livro * /

      / * Livro 1 detalhando * /
      Book1.getValues ​​( "C Programming",
      "Nuha Ali", "C Programming Tutorial", 6495407);

      / * Livro 2 DETALHADA DESCRIÇÃO * /
      Book2.getValues ​​( "Telecom faturamento",
      "Zara Ali", "Telecom faturamento Tutorial", 6495700);

      / * Imprimir informações Book1 * /
      Book1.display ();

      / * Imprimir informações Book2 * /
      Book2.display (); 

      Console.ReadKey ();

   }
}

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

Título: Programação C
Autor: Nuha Ali
Assunto: Tutorial de programação C
Book_id: 6495407
Título: Faturamento Telecom
Autor: Zara Ali
Assunto: Telecom Tutorial Billing
Book_id: 6495700