Tutoriel par Examples: 39



class ToyProfiler : IProfiler { public ConcurrentDictionary<Thread, object> Contexts = new ConcurrentDictionary<Thread, object>(); public object GetContext() { object ctx; if(!Contexts.TryGetValue(Thread.CurrentThread, out ctx)) ctx = null; ...
ConnectionMultiplexer conn = /* initialization */; var profiler = new ToyProfiler(); conn.RegisterProfiler(profiler); var threads = new List<Thread>(); var perThreadTimings = new ConcurrentDictionary<Thread, List<IProfiledCommand>>(); for (var i = 0; i < 16; i++) {...
Parfois, vous voulez faire la même chose plusieurs fois. Dapper prend cela en charge sur la méthode Execute si le paramètre le plus à l' extérieur (qui est généralement un seul type anonyme ou une instance de modèle de domaine) est réellement fourni sous la forme d'une séquence IEnumerable ...
Ouvrez Visual Studio Dans la barre d'outils, accédez à Fichier → Nouveau projet Sélectionnez le type de projet d' application console Ouvrez le fichier Program.cs dans l'explorateur de solutions Ajoutez le code suivant à Main() : public class Program { public static void Main(...
string fullOrRelativePath = "testfile.txt"; string fileData; using (var reader = new StreamReader(fullOrRelativePath)) { fileData = reader.ReadToEnd(); } Notez que cette surcharge du constructeur StreamReader détecte automatiquement l' encodage , qui peut ou non être con...
Les méthodes d'extension ont été introduites dans C # 3.0. Les méthodes d'extension étendent et ajoutent un comportement aux types existants sans créer un nouveau type dérivé, recompiler ou modifier le type d'origine. Ils sont particulièrement utiles lorsque vous ne pouvez pas modifier ...
Les méthodes d'extension peuvent également être utilisées comme méthodes classiques de classe statique. Cette façon d'appeler une méthode d'extension est plus détaillée, mais elle est nécessaire dans certains cas. static class StringExtensions { public static string Shorten(this s...
L'opérateur nameof renvoie le nom d'un élément de code sous la forme d'une string . Ceci est utile lors de la levée des exceptions liées aux arguments de méthode et lors de l'implémentation d' INotifyPropertyChanged . public string SayHello(string greeted) { if (greeted ==...
Les filtres d'exception permettent aux développeurs d'ajouter une condition (sous la forme d'une expression boolean ) à un bloc catch , ce qui permet à catch d'exécuter uniquement si la condition est évaluée à true . Les filtres d'exception permettent la propagation des informa...
Les initialiseurs d'index permettent de créer et d'initialiser des objets avec des index en même temps. Cela rend l'initialisation des dictionnaires très facile: var dict = new Dictionary<string, int>() { ["foo"] = 34, ["bar"] = 42 }; Tout objet ...
À partir de C # 6, les collections avec indexeurs peuvent être initialisées en spécifiant l'index à attribuer entre crochets, suivi d'un signe égal, suivi de la valeur à affecter. Initialisation du dictionnaire Un exemple de cette syntaxe utilisant un dictionnaire: var dict = new Dictiona...
public class Animal { public string Name { get; set; } public Animal() : this("Dog") { } public Animal(string name) { Name = name; } } var dog = new Animal(); // dog.Name will be set to "Dog" by default. var cat = new Ani...
using System; using System.Reflection; using System.Linq; public class Program { public static void Main() { var members = typeof(object) .GetMembers(BindingFlags.Public | BindingFlags.Static | ...
Pour éviter la duplication de code, définissez des méthodes et des attributs communs dans une classe générale en tant que base: public class Animal { public string Name { get; set; } // Methods and attributes common to all animals public void Eat(Object dinner) { // ....
public class Animal { public string Name { get; set; } } public interface INoiseMaker { string MakeNoise(); } //Note that in C#, the base class name must come before the interface names public class Cat : Animal, INoiseMaker { public Cat() { Name = "Ca...
public void SerializeFoo(string fileName, Foo foo) { var serializer = new XmlSerializer(typeof(Foo)); using (var stream = File.Open(fileName, FileMode.Create)) { serializer.Serialize(stream, foo); } }
public Foo DeserializeFoo(string fileName) { var serializer = new XmlSerializer(typeof(Foo)); using (var stream = File.OpenRead(fileName)) { return (Foo)serializer.Deserialize(stream); } }
<Foo> <Dog/> </Foo> public class Foo { // Using XmlElement [XmlElement(Name="Dog")] public Animal Cat { get; set; } }
string requestUri = "http://www.example.com"; string responseData; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(parameters.Uri); WebResponse response = request.GetResponse(); using (StreamReader responseReader = new StreamReader(response.GetResponseStream())) { ...
string requestUri = "http://www.example.com"; string responseData; using (var client = new WebClient()) { responseData = client.DownloadString(requestUri); }

Page 1 de 255