Em C#, o tipo de dado struct suporta algumas características O.O, como construtor, 
                métodos e herança. Esses assuntos serão vistos com mais detalhes em 
                C#: P.O.O.
            
            Sintaxe: construtor
            modificador_acesso nome_struct(<lista_parametros>)
{
    //atribuição
} 
            
                No exemplo abaixo, declaramos um método construtor para iniciar nossa struct 
                com valores passados como argumento.
            
            Exemplo 6
            using System;
public class Program 
{
  public struct MinhaStruct
  {
    public int codigo;
    
    public MinhaStruct(int c)
    {
        codigo = c;
    }
  }
  
  static void Main() 
  {
    MinhaStruct ms = new MinhaStruct(999);
    Console.WriteLine(ms.codigo);
  }
}
            Saída
            
999
            
                Para a declaração de métodos dentros de structs, seguimos a sintaxe abaixo:
            
            Sintaxe: método
            modificador_acesso tipo_retorno nome_metodo(<lista_parametros>)
{
    //corpo
} 
            
                O acesso ao método é feito utilizando o operador de acesso a membros (.):
            
            Sintaxe
            nome_struct.nome_metodo(lista_argumentos); 
            Exemplo 7
            
using System;
public class Program 
{
  public struct MinhaStruct
  {
    //membros omitidos
    public void metodo(int valor)
    {
        Console.WriteLine(valor);
    }
  }
  
  static void Main() {
    
    MinhaStruct ms = new MinhaStruct();
    ms.metodo(999);
  }
}
            Saída
            
999