Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

C# et .NET : Threads vs Parallélisme un match toujours à jouer !

Toujours trop peu de développeurs ont infléchi leur style de programmation vers le multitâche et le parallélisme pourtant devenus indispensables. Certains l’ont fait et pensent que jouer avec les Threads est suffisant. En réalité le Threading n’est pas forcément équivalent à du parallélisme. Il est temps d’en “remettre une couche” !Plus...

C# : Toujours la même erreur dans votre code …

En maintenant un code C# d'un client mon ami Resharper me dit d'un appel à une méthode dans le constructeur d'une classe "virtual member call in constructor". J'ai tellement pris le pli avec ce problème que je ne m'en souci plus guère dans mon propre code, j'évite soigneusement la situation... Mais vous ? Avez-vous conscience de la gravité de ce problème ?Plus...

Faut-il bouder les warnings ?

Les warnings semblent moins intéresser que les erreurs, on le comprend, les unes sont bloquantes, les autres non. Mais certains warnings du compilateurs matérialisent des erreurs potentielles aux conséquences qu’il serait dangereux d’ignorer… Plus...

Hériter d’une classe Sealed ?

C’est un peu un piège, bien entendu, une classe “sealed” on ne peut en hériter... Pourtant le besoin existe. Par exemple une String différenciée. Comment contourner l’interdiction du Framework ? Est-ce possible ? Plus...

Générer convenablement des nombres aléatoires

Les ordinateurs sont des machines déterministes, même si on peut parfois en douter ! Ils sont ainsi très mauvais au jeu des valeurs aléatoires, comme nous, mais pour d’autres raisons (trop de rigidité pour les premiers, trop de poids de l’inconscient pour les seconds). Peut-on se fier à Random ? Comment l’utiliser ? Peut-on mieux faire ? Nous allons voir cela …Plus...

XML, arbres, LINQ et parallélisme

Traiter des données arborescentes est toujours un peu délicat car cela implique l’usage de code récursif, sorte d’épouvantail à informaticien… Pire si tout cela doit être parallélisé c’est un cauchemar pour certains ! Mais c’est oublier que ces problèmes complexes peuvent être résolus par quelques lignes de C# avec l’aide de LINQ !Plus...