Tutoriel par Examples: an



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++) {...
IDBConnection db = /* ... */ var id = /* ... */ db.Execute(@"update dbo.Dogs set Name = 'Beowoof' where Id = @id", new { id });
LINQPad est idéal pour tester les requêtes de base de données et inclut l' intégration de NuGet . Pour utiliser Dapper dans LINQPad, appuyez sur F4 pour ouvrir les propriétés de la requête, puis sélectionnez Ajouter NuGet . Recherchez dapper dot net et sélectionnez Ajouter à la requête . Vous s...
Il est possible d'utiliser une expression en await pour appliquer un opérateur en attente à Tasks ou Task (Of TResult) dans les blocs catch et finally dans C # 6. Il n'était pas possible d'utiliser l'expression await dans les blocs catch et finally dans les versions antérieures en ...
var persons = new[] { new {Id = 1, Name = "Foo"}, new {Id = 2, Name = "Bar"}, new {Id = 3, Name = "Fizz"}, new {Id = 4, Name = "Buzz"} }; var personsSortedByName = persons.OrderBy(p => p.Name); Console.WriteLine(string.Join(&quo...
Enumerable.Select renvoie un élément de sortie pour chaque élément d'entrée. Alors que Enumerable.SelectMany produit un nombre variable d'éléments de sortie pour chaque élément d'entrée. Cela signifie que la séquence de sortie peut contenir plus ou moins d’éléments que ceux de la séquen...
.NET 4.0 var tens = new[] {10,20,30,40,50}; var units = new[] {1,2,3,4,5}; var sums = tens.Zip(units, (first, second) => first + second); Console.WriteLine(string.Join(",", sums)); //11,22,33,44,55
interface BaseInterface {} class BaseClass : BaseInterface {} interface DerivedInterface {} class DerivedClass : BaseClass, DerivedInterface {} var baseInterfaceType = typeof(BaseInterface); var derivedInterfaceType = typeof(DerivedInterface); var baseType = typeof(BaseClass); var derived...
try , catch , finally , et throw vous permettent de gérer les exceptions dans votre code. var processor = new InputProcessor(); // The code within the try block will be executed. If an exception occurs during execution of // this code, execution will pass to the catch block corresponding to the...
La directive using static [Namespace.Type] permet d'importer des membres statiques de types et de valeurs d'énumération. Les méthodes d'extension sont importées en tant que méthodes d'extension (à partir d'un seul type) et non dans la portée de niveau supérieur. 6,0 using stati...
Pour créer une classe prenant en charge les initialiseurs de collection, il doit implémenter l'interface IEnumerable et disposer d'au moins une méthode Add . Depuis C # 6, toute collection implémentant IEnumerable peut être étendue avec des méthodes Add personnalisées à l'aide de méthod...
Apostrophes char apostrophe = '\''; Barre oblique inverse char oneBackslash = '\\';
Barre oblique inverse // The filename will be c:\myfile.txt in both cases string filename = "c:\\myfile.txt"; string filename = @"c:\myfile.txt"; Le deuxième exemple utilise une chaîne littérale textuelle , qui ne traite pas la barre oblique inverse comme un caractère d'...
using System; using System.IO; using System.Linq; using System.Net.Http; using System.Threading.Tasks; class HttpGet { private static async Task DownloadAsync(string fromUrl, string toFile) { using (var fileStream = File.OpenWrite(toFile)) { using (va...
List<int> l2 = l1.FindAll(x => x > 6); Ici x => x > 6 est une expression lambda agissant comme un prédicat qui garantit que seuls les éléments supérieurs à 6 sont renvoyés.
string[] strings = new[] {"foo", "bar"}; object[] objects = strings; // implicit conversion from string[] to object[] Cette conversion n'est pas sécurisée. Le code suivant déclenchera une exception d'exécution: string[] strings = new[] {"Foo"}; object[] obje...
Usage déconseillé La classe ConfigurationSettings était le moyen original de récupérer les paramètres d'un assembly dans .NET 1.0 et 1.1. Il a été remplacé par la classe ConfigurationManager et la classe WebConfigurationManager . Si vous avez deux clés portant le même nom dans la section appS...
La classe ConfigurationManager prend en charge la propriété AppSettings , qui vous permet de continuer à lire les paramètres de la section appSettings d'un fichier de configuration de la même manière que celle prise en charge par .NET 1.x. app.config <?xml version="1.0" encoding=&...
Une tâche peut être créée en instanciant directement la classe de Task ... var task = new Task(() => { Console.WriteLine("Task code starting..."); Thread.Sleep(2000); Console.WriteLine("...task code ending!"); }); Console.WriteLine("Starting task...&q...

Page 1 de 298