L'appel à une fonction se fait de manière synchrone : aucune autre instruction n'est exécutée avant que la fonction ne retourne une valeur. Cependant certaines fonctions prennent beaucoup de temps, en particulier les opérations d'entrées-sorties, et les fonctions de communication par réseau informatique.
Pour ce genre de fonction, l'API .Net possède souvent deux versions de la méthode :
Syntaxe et utilisation des méthodes asynchrones.
Une méthode synchrone est déclarée selon la syntaxe suivante :
 "type_retour" "nom_methode" ( "arguments..." )
La version asynchrone utilise deux autres méthodes. La première commence par codice_1 et demande au pool de threads standard d'effectuer l'opération. Une fois l'opération terminée, un delegate est appelé. Celui-ci appelle alors la méthode dont le nom commence par codice_2 pour récupérer la valeur retournée par la méthode asynchrone.
Ces deux méthodes ont la syntaxe suivante :
 IAsyncResult Begin"nom_methode" ( "arguments_non_ref...",
 AsyncCallback callback, object state )
 "type_retour" End"nom_methode" ( IAsyncResult, "arguments_ref" )
Les arguments de la méthode synchrone se retrouvent répartis entre les deux méthodes :
La méthode codice_1 possède deux arguments supplémentaires :
Le delegate codice_7.
La syntaxe du delegate codice_7 est la suivante :
public delegate void AsyncCallback(IAsyncResult result)
Le paramètre codice_9 est une interface de type codice_10 correspondant à celui retourné par la méthode codice_1, et doit être passé à la méthode codice_2.
L'interface codice_10.
L'interface codice_10 possède les propriétés en lecture seule suivantes :
La propriété codice_15 permet de lancer une opération asynchrone, d'effectuer d'autres traitements durant l'opération en cours, et finalement attendre la fin de l'opération si elle ne s'est pas déjà terminée, en testant la propriété codice_16.
Fonctions asynchrones et tâches.
Depuis C#5.0, il est possible de simplifier la programmation asynchrone avec les mots-clés codice_17 et codice_18.
Déclaration d'une fonction asynchrone.
Le mot-clé codice_17 est utilisé dans la déclaration d'une méthode pour indiquer qu'elle est asynchrone.
Cela signifie que son exécution comporte une longue tâche, et qu'elle peut utiliser le mot-clé codice_18 pour attendre une autre tâche.
Le type de sa valeur de retour codice_21 est modifié en codice_22 indiquant que la fonction asynchrone retourne désormais une tâche dont le résultat est de type codice_21.
Par convention, le nom d'une fonction asynchrone se termine par "Async".
Exemple :
async Task<string> getPageContentAsync(string url)
 string page_content = null;
 // ... connexion, téléchargement, ...
 // page_content = ...
 return page_content;
Appeler et attendre une tâche.
Appeler une fonction asynchrone est une façon de créer une nouvelle tâche :
async void test()
 Console.WriteLine("Téléchargement des pages...");
 Task<string> tache = getPageContentAsync("https://fr.wikibooks.org/w/Programmation_C_sharp/Fonctions_asynchrones");
 Console.WriteLine("Le programme peut faire autre chose pendant le téléchargement...");
 Console.WriteLine("Là on attend pour utiliser le résultat :");
 string page = await tache;
 Console.WriteLine("La page contient : ");
 Console.WriteLine(page);
L'appel de l'exemple précédent se fait de manière asynchrone, récupérant un objet tâche.
La méthode peut faire autre chose avant d'attendre et récupérer le résultat explicitement en utilisant codice_18.
L'utilisation du mot-clé codice_18 dans une méthode n'est autorisé que si la méthode est déclarée elle-même asynchrone avec codice_17.
La hiérarchie des appels est donc une chaîne de méthodes asynchrones (async -> attendre avec await, donc méthode async, ...), qui peut toutefois s'arrêter soit en n'utilisant pas le mot-clé codice_18 si on n'a pas besoin d'attendre la fin, soit en utilisant la méthode codice_28 de la classe codice_29 comme dans cet exemple :
void test()
 Console.WriteLine("Téléchargement des pages...");
 Task<string> tache = getPageContentAsync("https://fr.wikibooks.org/w/Programmation_C_sharp/Fonctions_asynchrones");
 Console.WriteLine("Le programme peut faire autre chose pendant le téléchargement...");
 Console.WriteLine("Là on attend :");
 tache.Wait();
 Console.WriteLine("Fin de tâche");
Créer une tâche.
La classe codice_29 possède des méthodes statiques pour créer des tâches :
Exemple pour simuler le téléchargement de page des exemples précédents :
async Task<string> getPageContentAsync(string url)
 string page_content = "«LOADING...»";
 await Task.Run(() => 
 // ... connexion, téléchargement, ...
 Console.WriteLine("* Loading...");
 Task.Delay(2000).Wait();
 page_content = "«Contenu de la page "+url+"»";
 Console.WriteLine("* Loaded");
 Console.WriteLine("* Return");
 return page_content;

Chinois/Prononciation des finales
Principe.
La durée d'une voyelle simple ou combinée, souvent appelée "finale" joue un rôle capital dans la langue chinoise. 
Ce rôle est néanmoins fondamentalement différent de celui en anglais et en français. Dans tous les deux cas, la durée d'une voyelle ne sert pas à la distinction d'un mot à l'autre, mais simplement à faire entendre clairement un son, ou l'évolution d'un son (late en anglais s'évolue de "E" à "i", ce n'est pas le cas en français), en français elle ne sert qu'à embellir la langue.
Dans la langue chinoise, la durée d'une voyelle ne sert non plus à distinguer un son à un autre, comme en français, mais elle est indispensable pour distinguer un ton à un autre. Les quatre tons, à l'exception du premier ton qui est plat, signifient toujours une évolution de la hauteur du son. Cette évolution ne peut pas s'exprimer sans une durée.
Beaucoup de sons du Chinois s'approchent davantage de l'anglais que du français, par conséquent dans le tableau qui suit beaucoup de mots anglais sont utilisés.

Le langage SQL/Sommaire
Panasonic
Expériences malgaches sur le télédiagnostic de la lèpre

Description de la problématique.
Télédiagnostic par simple messagerie électronique sur la lèpre au sein du Centre Hospitalier de District de Mananjary, 4ème région de la Province de Fianarantsoa qui vient d’être effectué en 2003 grâce à l’initiative du Service de Dermatologie du CHU Joseph Ravoahangy Andrianavalona Antananarivo appuyé par Le Programme National de lutte contre la lèpre qui a soutenu le voyage d’un groupe d’étudiants en médecine afin de recenser les cas de lèpre dans cette zone de forte épidémie. Une présentation des images de 22 cas diagnostiqués par des médecins de la région a été envoyée par e-mail au staff central composé de son équipe scientifique et parmi ces 22 cas, 17 ont été jugés « faux diagnostic ».
La communication avec les étudiants a été très difficile en raison du coût de connexion internet évalué à trois fois plus cher que celui de la Capitale et de la lenteur du débit de connexion qui a limité l’envoi des fichiers d’images dermatologiques à interpréter. 
Ces genres de problèmes constituent un vrai obstacle au développement sanitaire régional rendant ainsi difficile le système d’évacuation sanitaire. 
La Formation Médicale Continue est insuffisante et inaccessible en périphérie.
Solutions apportées.
Actuellement, des équipements de visioconférence et quelques programmes d’e-cours sont déjà disponibles malgré le faible débit de connexion qui limite la transmission des données.
Le Concours National d’Entrée à l’Internat Qualifiant a été réalisé en temps réel entre les deux Facultés de Médecine d’Antananarivo et de Majunga sous forme de visioconférence au début du mois de Novembre 2005.

Pratique de la Dermatologie en Afrique Francophone/Expériences malgaches sur le Télédiagnostic de la Lèpre