O C♯ (também C#, C Sharp ou C Cardinal) é uma linguagem de programação segura (de forma geral), estaticamente tipada (excluindo a palavra-chave "dynamic"), orientada a objecto e forte, que permite que qualquer programa seja baseado exclusivamente nela.

As bibliotecas são .NET Framework, já que esta é uma linguagem criada pela Microsoft, inicialmente com o nome Simple Managed C ou SMC.

Para editar e compilar programas em C♯ gratuitamente, faça o download do programa Microsoft Visual Studio 2011 Express Edition.

Um comentário vulgar em C♯ pode ser escrito de duas maneiras:

// de uma linha
/* ou de
várias
linhas*/



Os comentários são ignorados pelo compilador, mas podem ser muito úteis para o programador!

Abaixo segue-se o exemplo de código que existe em todas as linguagens, o programa "Olá Mundo!" em C♯:

 
using System;  // importa o namespace System, com todas as suas classes, estruturas, métodos e mais.
namespace Testes  // o programa tem de ser criado dentro do namespace, o conjunto de classes e outros que os referencia.
{
     class OlaMundo  // uma classe, um conjunto de métodos, campos, variáveis, propriedades e outros
     {
          static void Main()  /* método necessário em todos os programas para os iniciar.
          O NOME NÃO PODE SER MUDADO, ou o programa não funcionará. */
          {
               Console.WriteLine("Olá Mundo!");  /* método da classe 
               estática Console
               (que está no namespace System)
               que escreve o texto representado em String (classe que está no namespace System) e não devolve
               valor (tipo void,
               como no nosso método Main()) */
 
               Console.ReadKey(); /* método da classe estática
               Console (que está no namespace System)
               que lê qualquer tecla que o utilizador
               carregue e que não devolve valor (tipo void)
               Como não há mais código,
               o programa fecha depois disso. */
          }
     }
}


Um exemplo de uma das muitas maneiras de somar dois números ciclicamente, de forma simples e segura:

using System;
 namespace Calcular 
{
    class OlaMundo 
    {
        static void Main() 
        {
            while (2 + 2 == 4) // ciclo que executa o código e verifica se uma condição é verdadeira antes de o voltar a executar 
            { 
                Console.WriteLine("Escreva um número. Use uma vírgula se o número for decimal."); // dá indicações ao utilizador 
                string sx = Console.ReadLine(); /* cria e inicializa um novo string (conjunto de caracteres)
                cujo valor é, neste caso, o que o utilizador digitar 
                (pois o método ReadLine() devolve um valor do tipo string) */
                string sy = Console.ReadLine(); // idem 
                double x = 0; // cria e inicializa um novo número decimal (para mais informação sobre tipos primitivos em C♯ veja  este link)
                double y = 0; // idem 
                bool bx = double.TryParse(sx, out x); /* utiliza um método estático da estrutura double para verificar se a conversão funciona e para alterar o valor de x para o contido                 em sx.*/
                bool by = double.TryParse(sy, out y); // idem 
                Console.WriteLine("{0} + {1} = {2}" x, y, x + y);  // veja isto para uma explicação
                Console.WriteLine(); // escreve uma linha em branco antes do reinício do ciclo 
            }
        }
    }
} 

Veja este artigo em Inglês.

Aprenda mais noutros artigos da TechNet Wiki.

Aprenda mais no MSDN:

Para ainda mais informação sobre o C♯: