Étiquettes
Accelerator Agile Architecture ASP.NET Async Azure Bamboo BigData Blazor BreizhCamp Bug Docker FOP GreenIT Hackathon Hadoop HTML5 Java KeyCloak Kinect Lambda Livre Lordon Microsoft Mono MVP NDepend OData OIDC Performance PowerPivot RabbitMQ ReBUILD SHA-1 SharePoint TechDays2013 TechDays2014 TestOIDCBlazorWASM Tests UIAutomation VisualStudio WASM Windows8 WINFORMS XSL/FO
Category Archives: C#
A quoi peut bien servir une lambda x=>x ?
A quoi peut bien servir le genre de code ci-dessous ? ConvertAll<A>(x => x) A priori, faire une expression lambda de type “identité”, ça parait un peu capillotracté. La première idée qui vient est que ça pourrait servir pour gérer … Continue reading
Dictionary<TKey, TValue> et IEquatable<TKey>
Aujourd’hui, un article pour expliquer un comportement un peu spécial dans les dictionnaires génériques de .NET. Imaginons que, pour une fonctionnalité particulière, vous ayez besoin d’un dictionnaire qui utilise une clé composite, dont la structure contient plusieurs chaînes. Souvent, il … Continue reading
Quelques remarques sur la gestion des données temporelles
Je viens de lire cet excellent article sur des hypothèses fausses (parfois de manière étonnante) que les programmeurs font sur le temps et sa gestion informatisée. Quelques-unes sont très simples, comme le fait que Février n’a pas toujours 28 jours, … Continue reading
Bug de culture sur KinectExplorer
Microsoft a visiblement fait des efforts pour internationaliser Kinect : la reconnaissance vocale est désormais supportée dans de nombreuses langues additionnelles, dont le français. Toutefois, il reste quelques petits bugs dans les programmes exemples. C’est en particulier le cas de … Continue reading
Affectation de propriétés dans le constructeur : à savoir…
Depuis .NET 3.0, il est possible d’affecter des propriétés dans la même instruction que le constructeur. On peut ainsi écrire : Rectangle r = new Rectangle() { Largeur = 2, Longueur = 3 }; Ceci s’avère très pratique, car on … Continue reading
Posted in .NET, C#
Leave a comment
Précédence des opérateurs ternaires et de concaténation
Un tout petit article pour montrer un code qui va provoquer une grave erreur : le traitement dans le catch lève lui-même une exception. using System; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { try { throw … Continue reading
Posted in .NET, C#
Leave a comment
TryParse pour Enum : ça existe, mais en .NET 4.0
La plupart d’entre vous savez que gérer une exception est quelque chose de très lent, et qui peut amener à des potentiels problèmes de performance. Prenons un bloc de code comme ceci : decimal Resultat = 0; Stopwatch Chrono = … Continue reading
Posted in .NET, C#
2 Comments
Utilité de IsAlive ?
Le bout de code ci-dessous montre une utilisation conceptuelle des WeakReference. L’idée des références faibles étant qu’elles n’empêchent pas la collection par le GC, mais que si jamais le GC n’est pas passé, elles permettent de retrouver une “vraie” référence … Continue reading
Posted in .NET, C#
Leave a comment
De la difficulté de faire un bon test
Comment tester qu’un tri a bien été réalisé ? Imaginez que vous deviez tester unitairement la fonction Sort générique de .NET. Comment réaliser le code le plus concis possible, sans redondance mais sans laisser passer de cas particulier, et qui … Continue reading
Tech Days 2011 : CodeContrats
[ContractClass] et [ContractClassFor] permettent, par injection, de placer des contrats de code sur des interfaces, et qu’on retrouvera sur les classes d’implémentation. [ContractInvariantMethod] et Contract.Invariant() pour les invariances de valeurs. Pour hériter des contraintes depuis une interface, on implémente une … Continue reading