我有一个简单的循环,看起来应该是这样的
for (sbyte i = sbyte.MinValue; i <= sbyte.MaxValue; i++)
{
Console.WriteLine(i);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是sbyte.MaxValue +1 = sbyte.MinValue,这永远不会满足结束条件.我的解决方法是使用intfrom -128,127但是还有原生sbyte方法吗?
没有考虑到明显的问题
输出所有除外
MaxValue,然后输出MaxValue
方法,我看到一个解决方案.
它工作,但看起来很奇怪,OverflowException如果checked:)
sbyte i = sbyte.MinValue;
do
{
Console.WriteLine(i++);
} while (i != sbyte.MinValue);
Run Code Online (Sandbox Code Playgroud)