我需要检查一个整数是否有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;
    }

最佳答案

为什么要完全使用字符串?

if (originalInt >= 100000 && originalInt < 1000000)
    return originalInt % 1000;
return originalInt;


(假设originalInt始终为正)

07-26 03:16