J’écrivais du code en C # et je me suis retrouvé à écrire:
return new MyClass(...
quand j’ai remarqué que le return
et le new
étaient tous les deux des mots clés C #. Je me suis donc demandé quelle était la plus longue séquence juridique de mots-clés en C #. Tout ce à quoi je pouvais penser, c’est:
internal static override void MyFunc(...
Où internal static override void
sont tous des mots-clés. Pouvez-vous penser à une plus longue séquence de mots-clés?
Remarque: La question n’a vraiment aucun sens. J’espère juste m’amuser un peu plus sur le feu 🙂
Pour 6 personnes:
new protected internal unsafe virtual decimal Foo() {...}
Modifier pour 7:
new protected internal unsafe virtual extern decimal Foo();
Si nous permettons des crochets et des accolades …
( édité le “verrou”, “nouvel object ()”, “en tant que” et “chaîne” ont été consortingbués par d’autres; voir les commentaires)
decimal Bar() { lock (new object() as ssortingng) { if (true) { checked { unsafe { try { do { return default(decimal); unchecked {break;} continue; } while (false); } catch { throw; } finally { } } } } } }
Je suppose que c’est infini:
return null as ssortingng as ssortingng as ssortingng as ssortingng as ssortingng....
Voici un autre cas qui peut être aussi long que vous le souhaitez:
do do do do do do do do do do do do do do do // ... while(x) while(x) while(x) while(x) while(x) // ...
Avec des mots-clés contextuels, vous pouvez également avoir
await await await await await await await // ...
internal protected static volatile ssortingng foo = "bar";
C’est 5.
Une autre variante avec la définition de la méthode (trouvée par mon collègue):
protected internal override sealed unsafe async void await() { ... }
Donne 8 mots-clés à la suite. Utilise le fait que await
est un mot clé contextuel, ce qui permet de le réutiliser pour le nom de la méthode.
Puis-je sortingcher?
internal protected static volatile SsortingngBuilder @ssortingng = new SsortingngBuilder(int.Parse("12"));
Utiliser le fait que je peux utiliser un mot clé ou un autre terme réservé en tant que nom de variable si je le préfixe par un @ – correspond à 9 si vous autorisez la duplication de SsortingngBuilder.