C# [Sugar syntax] Function

Inscrit
12 Avril 2017
Messages
72
Reactions
2
#1
Bonsoir, je post ce topic pour mieux comprendre une chose toute nouvelle pour moi. Je m'explique, quelle est la différence ( dans le domaine du traitement du code ) dans ces deux cas si, lorsqu'on code une fonction :

C#:
 private void RewardQuestDDG(Character character) => character.Inventory.AddItem(Singleton<ItemManager>.Instance.TryGetTemplate((int)ItemIdEnum.DOFUS_DES_GLACES_7043));
C#:
 private void RewardQuestDDG(Character character)
{ character.Inventory.AddItem(Singleton<ItemManager>.Instance.TryGetTemplate((int)ItemIdEnum.DOFUS_DES_GLACES_7043))
}
A savoir que ça marche aussi sur les propriétés, cependant ils seront généralement en lecture seule. De plus, une méthode qui use la première syntaxe ne peut-être codé que sur une seul ligne :
C#:
   private bool IsBigBossDimensionDungeon() => this.GetAllFighters<MonsterFighter>().Any(x => x.Monster.Template.Id == 3648) // Nidas
                                                   || this.GetAllFighters<MonsterFighter>().Any(x => x.Monster.Template.Id == 4263) // Chaloeil
                                                   || this.GetAllFighters<MonsterFighter>().Any(x => x.Monster.Template.Id == 3726) // Srambad
                                                   || this.GetAllFighters<MonsterFighter>().Any(x => x.Monster.Template.Id == 3835); // Vortex
 
Dernière édition:
Inscrit
16 Mars 2014
Messages
214
Reactions
30
#2
0 différence, juste de la simplification syntaxique et une manière de déclarer des valeurs en readyonly
 
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#3
0 différence, juste de la simplification syntaxique et une manière de déclarer des valeurs en readyonly
Ok Merci, je pensais que derrière cette simplification il y avait une explication plus complexe mais finalement non :)
 
Inscrit
25 Février 2012
Messages
178
Reactions
3
#4
C'est juste du sugar syntax comme t'as dis dans ton titre ^^
Quand tu compiles, ça revient au même code qu'on connait tous.
 
Haut Bas