有没有更好的方法从C#中的整数中删除字符?

The*_*fen 2 c# int parsing

我需要检查整数是否有6个字符,如果是,则删除前三个字符并返回结果整数.否则,只返回原始整数.这就是我所拥有的,我想知道C#中是否有更好/更快/更有效的方式?

public static int MyMethod(int originalInt)
    {
        int outputInt = originalInt;

        string temp = originalInt.ToString();

        if (temp.Length == 6)
        {
            temp = temp.Substring(3);
            if (!Int32.TryParse(temp, out outputInt))
            {
                outputInt = originalInt;
            }
        }

        return outputInt;
    }
Run Code Online (Sandbox Code Playgroud)

Dam*_*ver 8

为什么要使用字符串?

if (originalInt >= 100000 && originalInt < 1000000)
    return originalInt % 1000;
return originalInt;
Run Code Online (Sandbox Code Playgroud)

(假设originalInt总是积极的)

  • 因为否则它不回答这个问题? (2认同)
  • @Damien_The_Unbeliever我相信你在第一次比较中有一个额外的'0'; 它写的方式,永远不会满足. (2认同)