Le C# est un langage de programmation orienté objet développé par Microsoft dans les années 2000. Il fait partie de la plateforme .NET Framework, qui fournit une infrastructure pour le développement d’applications Windows et Web.

Le C# est un langage de programmation moderne et puissant, qui offre de nombreuses fonctionnalités avancées, telles que la gestion de la mémoire, la gestion des exceptions, la généricité, la programmation asynchrone et la programmation orientée objet. Il est également un langage sûr, grâce à son typage statique et à sa vérification de sécurité intégrée.

Le C# est utilisé pour développer des applications Windows, des applications Web, des applications mobiles, des jeux vidéo, des logiciels pour l’embarqué, des services Web et bien d’autres types de logiciels. Il est également utilisé dans des projets open source, comme le framework .NET Core.

Le C# est largement adopté par les entreprises et les développeurs du monde entier, notamment grâce à sa simplicité, sa productivité et sa flexibilité. Il est souvent utilisé en tandem avec des outils de développement intégrés (IDE) tels que Microsoft Visual Studio pour faciliter le développement et la maintenance de code de qualité.

Exemple de programme en C# afin de calculer une moyenne de notes et de rechercher ensuite la position d’une note dans le tableau :

using System;

namespace TableauExercice2
{
    class Program
    {
        static char saisie(string message, string oui, string non)
        {
            char reponse;
            do
            {
                Console.WriteLine();
                Console.Write(message);
                reponse = Console.ReadKey().KeyChar;
            } while (!oui.Contains(reponse.ToString()) && !non.Contains(reponse.ToString()));
            return reponse;
        }

        static void Main(string[] args)
        {
            // Déclaration du tableau
            int nbrnote = 0, vac = 0;
            bool trouvee = false, correct = false;
            char rep;
            string oui = "YyOo";
            string non = "Nn";
            float totalnote = 0;

            while (!correct)
            {
                try
                {
                    Console.Write("Donnez nombre de notes : ");
                    nbrnote = int.Parse(Console.ReadLine());
                    correct = true;
                }
                catch
                {
                    Console.WriteLine("Erreur de saisie, veuillez saisir un nombre valide.");
                }
            }
            correct = false;
            float[] notes = new float[nbrnote];
            // Saisie des notes
            for (int i = 0; i < nbrnote; i++)
            {
                while (!correct)
                {
                    try
                    {
                        Console.Write($"Entrez la note {i + 1} : ");
                        notes[i] = int.Parse(Console.ReadLine());
                        totalnote = totalnote + notes[i];
                        correct = true;
                    }
                    catch
                    {
                        Console.WriteLine("Erreur de saisie, veuillez saisir un nombre valide.");
                    }
                }
                correct = false;
            }
            // Moyenne
            Console.WriteLine($"La moyenne des notes est de {totalnote / notes.Length}");
            // Recherche valeur
            rep = saisie("Chercher une valeur ? O/N ", oui, non);

            while (rep == 'O' || rep == 'o')
            {
                while (!correct)
                {
                    try
                    {
                        Console.Write(" Entrez la valeur à chercher : ");
                        vac = int.Parse(Console.ReadLine());
                        correct = true;
                    }
                    catch
                    {
                        Console.WriteLine("Erreur de saisie, veuillez saisir un nombre valide.");
                    }
                }
                for (int i = 0; i < nbrnote; i++)
                {
                    if (notes[i] == vac)
                    {
                        Console.WriteLine($" Valeur trouvée, sa position dans le vecteur est {i}");
                        trouvee = true;
                    }
                }
                if (trouvee == false)
                {
                    Console.WriteLine($" Valeur non trouvée.");
                }
                rep = saisie("Rechercher une valeur ? O/N ", oui, non);
            }
        }
    }
}