2014年12月30日 星期二

C# 從 textbox 讀進 IP位址後移除前面0的原始碼

剛好需要用到,不懂C#靠著google瞎矇搞定了,貼給需要的人

如果你讀到 IP位址格式是這樣 "172.016.001.123"

但是你的程式必須轉換成 "172.16.1.123" 格式 (不能帶前面的 "0")

把這段加進去用
(程式碼寫到剛好可用,看不慣的請自行優化)
(只有下面這段我懂,其他 C# 我都不懂)

static class Extensions
{
    public static string Right(this string value, int length)
    {
        return value.Substring(value.Length - length);
    }

    public static string RemoveUnwantedZeros(this string value)
    {
        int i;
        string subStr="";
        bool ignore = false;


        for (i = 0; i < value.Length; i++)
        {
            if (value.Substring(i, 1).Equals("."))
            {
                subStr += value.Substring(i, 1);
                ignore = false;
            }
            else if (value.Substring(i, 1).Equals("0"))
            {
                if (ignore)
                {
                    subStr += value.Substring(i, 1);
                }
            }

            else
            {
                subStr += value.Substring(i, 1);
                ignore = true;
            }
        }
        return subStr;
    }
}


然後你程式內就可以用這個功能消掉不要的 '0'

realIP = Extensions.RemoveUnwantedZeros(txtIP);

祝福你~