2 votes

Existe-t-il une syntaxe plus compacte pour TryFind ?

J'utilise une carte Microsoft.FSharp.Core.Collections.FSharpMap et je dois très souvent écrire :

var oo = world.Entity.TryFind(t);
var entity = oo == null ? null : oo.Value;

Et similaires. Des suggestions pour un meilleur style ?

6voto

dtb Points 104373

Vous pouvez écrire un Méthode d'extension :

public static T ValueOrDefault<T>(this FSharpOption<T> option)
{
    return option == null ? default(T) : option.Value;
}

Utilisation :

var entity = world.Entity.TryFind(t).ValueOrDefault();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X