- You can have as many lines as you want within method
M()
- No single line can be longer than 100 chars
- To get your score, divide the '# of expanded lines' by the '# of original line(s)'
- Based on the default output formatting of https://sharplab.io, no re-formatting allowed!!
- But you can format the intput however you want, i.e. make use of the full 100 chars
- Must compile with no warnings on https://sharplab.io (allows C# 7 features)
- But doesn't have to do anything sensible when run
- You cannot modify the code that is already there, i.e.
public class C {}
andpublic void M()
- Cannot just add
async
topublic void M()
, that's too easy!!
- Cannot just add
- You can add new
using ...
declarations, these do not count towards the line count
using System;
public class C {
public void M() {
// Only allowed to change the code in here
// CAN'T make M() async, that's too easy!!
}
}
If you want to, paste your sharplab.io links below along with the score
Available on sharplab.io
using System;
public class C {
public void M() {
Func<string> test = () => "blah"?.ToString();
}
}
This counts as 1 line of original code (only code inside method M()
is counted)
This expands to 23 lines (again only lines of code inside the braces ({
, }
) of class C
are counted, as formatted by sharplab.io)
Giving a score of 23 / 1 = 23
public class C
{
[CompilerGenerated] // <-- START counting from this line
[Serializable]
private sealed class <>c
{
public static readonly C.<>c <>9;
public static Func<string> <>9__0_0;
static <>c()
{
// Note: this type is marked as 'beforefieldinit'.
C.<>c.<>9 = new C.<>c();
}
internal string <M>b__0_0()
{
return "blah";
}
}
public void M()
{
if (C.<>c.<>9__0_0 == null)
{
C.<>c.<>9__0_0 = new Func<string>(C.<>c.<>9.<M>b__0_0);
}
} // <-- STOP counting at this line
}
@EamonNerbonne I'm so sorry, I've only just noticed your entry (GitHub doesn't give notifications for gists),
WOW, you win, no doubts about it, that's pretty cool using the bitwise operator like that!