我需要检查整数是否有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;
}
答案 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;
}
它返回您需要的结果