What is the longest legal statement block you can make with only C# keywords?
For 6:
new protected internal unsafe virtual decimal Foo() {...}
Edit for 7:
new protected internal unsafe virtual extern decimal Foo();
If we allow brackets and braces...
(edited the "lock", "new object()", "as" and "string" were contributed by others; see comments)
decimal Bar() {
lock (new object() as string) {
if (true) {
checked {
unsafe {
try {
do {
return default(decimal);
unchecked {break;}
continue;
} while (false);
}
catch { throw; }
finally { }
}
}
}
}
}
I guess it's infinite:
return null as string as string as string as string as string....
Here is another case that can be as long as you wish:
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) // ...
With contextual keywords you can also have
await await await await await await await // ...