Esta é uma lista de exemplos de código C#, que demonstram a funcionalidade da linguagem e suas características.

Programa Olá Mundo Segue abaixo uma implementação do programa Olá Mundo em C#:

using System;

public class HelloWorld { public static void Main()

Console.WriteLine("Olá, Mundo!");

A linha 1 inclui os objetos do espaço de nomes System, pois utilizaremos um objeto deste para escrever na tela. A linha 3 define a classe HelloWorld; ela é pública, o que significa que pode ser utilizada por outros projetos sem restrições. A linha 5 é o ponto de entrada do programa quando executado a partir da interface de linha de comando. Este método também pode ser chamado de outro código utilizando a sintaxe HelloWorld.Main(). A definição public static void indica que o método Main é, respectivamente, público (pode ser invocado por outras classes), estático (pertence à classe e não a um objeto específico, uma instância específica) e sem valor de retorno. A linha 7 escreve a mensagem na linha de comando. Console é um objeto do sistema que representa a linha de comando, através da qual o programa pode obter e mostrar texto. O método WriteLine (traduzindo literalmente, EscreverLinha) de é executado, acarretando que o literal passado como parâmetro seja mostrado na saída.

Algoritmo de Trabb Pardo-Knuth

using System; using static System.Linq.Enumerable; using static System.Math;

class Tpk { static double F(double t) => Sqrt(Abs(t)) + 5 * Pow(t, 3);

static void Main()

var a = Range(0, 11).Select(_ => double.Parse(Console.ReadLine())).ToArray(); foreach (var i in Range(0, a.Length).Reverse())

var y = F(a[i]); Console.WriteLine(y > 400 ? $"{i} TOO LARGE" : $"{i} {y}");

Ponteiros Segue um exemplo simples de como usar ponteiros usando C#:

using System;

class Test { unsafe static void WriteLocations()

int *p; int i; i = 10; p = &i;

string addr; addr = int.Format((int)p, "X");

Console.WriteLine(addr); Console.WriteLine(*p);

*p = 333;

Console.WriteLine(i);

i = *(&i) + 10;

Console.WriteLine(i);

static void Main()

WriteLocations();

Herança Segue exemplo do uso de herança de classes:

using System;

public class Animal { private string raca;

public Animal(string raca)

Raca = raca;

public string Raca

get { return raca; } set { raca = value; }

public void Respirar()

// …

public class Cachorro : Animal { public Cachorro(string raca) : base(raca) {} }

public class Application { static void Main()

Cachorro cachorro = new Cachorro("beagle");

cachorro.Respirar();

Conversão de tipo Segue exemplo de conversão de diferentes tipos de dados:

// converte uma string para um byte byte numero8bits = Convert.ToByte("123");

// converte uma string para um short short numero16bits = Convert.ToInt16("1024");

// converte uma string para um int int numero32bits = Convert.ToInt32("34123");

// converte uma string para um double double numeroReal64bits = Convert.ToDouble("132123.12455");

// converte um inteiro para uma string string palavra1 = Convert.ToString(123);

// outra forma de se obter o mesmo resultado anterior string palavra2 = 123.ToString();

Vetores public static void Main(string[] args) { int[] primos = {2,3,5,7,11,13,17,19,23,29,31};

int[] somas = new int;

for(int i = 0; i < 11; i++)

somas[i] = 0;

for(int j = 0; j <= i; j++)

somas[i] += primos[j];

Console.Write("somas: ", somas);

for(int i = 0; i < 11; i++)

Console.Write(" {0}", somas[i]);

Console.WriteLine(); }

Passagem de parâmetros Saída do algoritmo ao ladoValor de x1 dentro do método Alterar: 10 Valor de x1 após a execuçao do método Alterar: 10

Valor de x2 dentro do método AlteraLocal: 10 Valor de x2 após a execuçao do método: AlteraLocal: 0

Valor de x2 dentro do método ReferenciaForcada: 20 Valor de x2 após a execuçao do método: ReferenciaForcada: 20

Valor de z dentro do método AlterarSaida: 20 Valor de z após a execuçao do método: AlterarSaida: 20 public struct Valor { public int x2; }

public class Referencia { public int x1; }

class Programa { // Objetos são passados por referência. public static void Alterar(Referencia r)

r.x1 = 10; Console.WriteLine("Valor de x1 dentro do método Alterar: " + r.x1);

// Estruturas são passadas por valor public static void AlteraLocal(Valor v)

v.x2 = 10; Console.WriteLine("\nValor de x2 dentro do método AlteraLocal: " + v.x2);

// Forçando a passagem por referência. A variável passada precisa ser iniciada. public static void ReferenciaForcada(ref Valor v)

v.x2 = 20; Console.WriteLine("\nValor de x2 dentro do método ReferenciaForcada: " + v.x2);

// Forçando a passagem por referência. Nesse caso a variável passada não precisa ser iniciada. public static void AlterarSaida(out int y)

y = 20; Console.WriteLine("\nValor de z dentro do método AlterarSaida: " + y);

public static void Main()

Valor v1 = new Valor(); Referencia r1 = new Referencia(); int z;

v1.x2 = 0; r1.x1 = 0;

Alterar(r1); Console.WriteLine("Valor de x1 após a execução do método Alterar: " + r1.x1);

AlteraLocal(v1); Console.WriteLine("Valor de x2 após a execução do método: AlteraLocal: " + v1.x2);

ReferenciaForcada(ref v1); Console.WriteLine("Valor de x2 após a execução do método: ReferenciaForcada: " + v1.x2);

AlterarSaida(out z); Console.WriteLine("Valor de z após a execução do método: AlterarSaida: " + z);

Ver também C#

E !Exemplos Codigos