- More code cleanup and codestyle updates

- Fixed some possible nullref exceptions
- Methods signatures now have up to 3 parameters before breakaing down each parameter in a separate line
- Method invocations have the same rule, except the first parameter will be in the same line as the invocation to prevent some ugliness when passing lambas as arguments
- Applied many more codestyles
- Extensions folder fully reformatted
This commit is contained in:
Kwoth
2021-12-26 17:28:39 +01:00
parent b85ba177cd
commit d5fd6aae8e
217 changed files with 1017 additions and 1494 deletions

View File

@@ -12,49 +12,31 @@ public struct ShmartNumber : IEquatable<ShmartNumber>
}
public static implicit operator ShmartNumber(long num)
{
return new(num);
}
=> new(num);
public static implicit operator long(ShmartNumber num)
{
return num.Value;
}
=> num.Value;
public static implicit operator ShmartNumber(int num)
{
return new(num);
}
=> new(num);
public override string ToString()
{
return Value.ToString();
}
=> Value.ToString();
public override bool Equals(object obj)
{
return obj is ShmartNumber sn
=> obj is ShmartNumber sn
? Equals(sn)
: false;
}
public bool Equals(ShmartNumber other)
{
return other.Value == Value;
}
=> other.Value == Value;
public override int GetHashCode()
{
return Value.GetHashCode() ^ Input.GetHashCode(StringComparison.InvariantCulture);
}
=> Value.GetHashCode() ^ Input.GetHashCode(StringComparison.InvariantCulture);
public static bool operator ==(ShmartNumber left, ShmartNumber right)
{
return left.Equals(right);
}
=> left.Equals(right);
public static bool operator !=(ShmartNumber left, ShmartNumber right)
{
return !(left == right);
}
=> !(left == right);
}