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

时间:2014-08-20 14:16:27

标签: c# parsing int

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

2 个答案:

答案 0 :(得分:8)

为什么要使用字符串?

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

(假设originalInt总是积极的)

答案 1 :(得分:1)

试试这个:

public static int MyMethod(int originalInt)
    {
    return (originalInt > 99999 && originalInt <1000000)?originalInt % 1000 :  originalInt;
    }

它返回您需要的结果