/// <summary>
/// 转化IP地址到长整形数
/// </summary>
/// <param name="address">IP地址</param>
/// <returns>长整形数</returns>
private static long ConvertIPToLong(string address)
{
  try
  {
    string[] s1 = address.Split('.');
    long ipLong = 0;
    for(int i = 0; i <= 3; ++i)
    {
      ipLong += long.Parse(s1[i])*((long) Math.Pow(256, 3 - i));
    }
    return ipLong;
  }
  catch
  {
    return 0;
  }
}

解决方案 »

  1.   

    using System;
    using System.Diagnostics;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Security.Cryptography;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.Windows.Forms;
    using System.Data;namespace ConvertIp2Long
    {
      /// <summary>
      /// Form1 的摘要说明。
      /// </summary>
      public class FormMain : System.Windows.Forms.Form
      {
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.TextBox textBox2;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.Button button2;
        private System.Windows.Forms.Button button3;
        /// <summary>
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.Container components = null;    public FormMain()
        {
          //
          // Windows 窗体设计器支持所必需的
          //
          InitializeComponent();      //
          // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
          //
        }    /// <summary>
        /// 清理所有正在使用的资源。
        /// </summary>
        protected override void Dispose( bool disposing )
        {
          if( disposing )
          {
            if (components != null) 
            {
              components.Dispose();
            }
          }
          base.Dispose( disposing );
        }    #region Windows 窗体设计器生成的代码
        /// <summary>
        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
        /// 此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
          System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(FormMain));
          this.textBox1 = new System.Windows.Forms.TextBox();
          this.button1 = new System.Windows.Forms.Button();
          this.textBox2 = new System.Windows.Forms.TextBox();
          this.label1 = new System.Windows.Forms.Label();
          this.label2 = new System.Windows.Forms.Label();
          this.button2 = new System.Windows.Forms.Button();
          this.SuspendLayout();
          // 
          // textBox1
          // 
          this.textBox1.Location = new System.Drawing.Point(40, 16);
          this.textBox1.Name = "textBox1";
          this.textBox1.Size = new System.Drawing.Size(152, 21);
          this.textBox1.TabIndex = 0;
          this.textBox1.Text = "";
          // 
          // button1
          // 
          this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
          this.button1.Location = new System.Drawing.Point(40, 80);
          this.button1.Name = "button1";
          this.button1.TabIndex = 2;
          this.button1.Text = "转换IP";
          this.button1.Click += new System.EventHandler(this.button1_Click);
          // 
          // textBox2
          // 
          this.textBox2.Location = new System.Drawing.Point(40, 48);
          this.textBox2.Name = "textBox2";
          this.textBox2.ReadOnly = true;
          this.textBox2.Size = new System.Drawing.Size(152, 21);
          this.textBox2.TabIndex = 3;
          this.textBox2.Text = "";
          // 
          // label1
          // 
          this.label1.Location = new System.Drawing.Point(8, 16);
          this.label1.Name = "label1";
          this.label1.Size = new System.Drawing.Size(24, 23);
          this.label1.TabIndex = 4;
          this.label1.Text = "Sur";
          this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
          // 
          // label2
          // 
          this.label2.Location = new System.Drawing.Point(0, 48);
          this.label2.Name = "label2";
          this.label2.Size = new System.Drawing.Size(32, 23);
          this.label2.TabIndex = 5;
          this.label2.Text = "Des";
          this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
          // 
          // button2
          // 
          this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
          this.button2.Location = new System.Drawing.Point(120, 112);
          this.button2.Name = "button2";
          this.button2.TabIndex = 6;
          this.button2.Text = "About";
          this.button2.Click += new System.EventHandler(this.button2_Click);
          // 
          // FormMain
          // 
          this.AcceptButton = this.button1;
          this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
          this.ClientSize = new System.Drawing.Size(202, 151);
          this.Controls.Add(this.button2);
          this.Controls.Add(this.label2);
          this.Controls.Add(this.textBox2);
          this.Controls.Add(this.button1);
          this.Controls.Add(this.textBox1);
          this.Controls.Add(this.label1);
          this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
          this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
          this.MaximizeBox = false;
          this.MinimizeBox = false;
          this.Name = "FormMain";
          this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
          this.Text = "ConvertIp2Long";
          this.ResumeLayout(false);    }
        #endregion    /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main() 
        {
          Application.Run(new FormMain());
        }    static string regexString = @"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b";
        Regex regex = new Regex(regexString, RegexOptions.IgnoreCase|RegexOptions.Compiled);
        private void button1_Click(object sender, System.EventArgs e)
        {
          string temp = textBox1.Text;
          if(temp == "")
          {
            textBox2.Text = "请输入IP地址";
            return;
          }
          if(regex.IsMatch(temp))
          {
            textBox2.Text = ConvertIp2Long(temp).ToString();
          }
          else
          {
            textBox2.Text = "非法的IP地址";
          }
        }    private static long ConvertIp2Long(string address)
        {
          try
          {
            string[] s1 = address.Split('.');
            long ipLong = 0;
            for(int i = 0; i <= 3; ++i)
            {
              ipLong += long.Parse(s1[i])*((long) Math.Pow(256, 3 - i));
            }
            return ipLong;
          }
          catch
          {
            return 0;
          }
        }    private void button2_Click(object sender, System.EventArgs e)
        {
          FormAbout fa = new FormAbout();
          fa.ShowDialog(this);
        }
      }
    }
      

  2.   

    IPADDRESS类中直接有方法呀,兄弟
      

  3.   

    MSDN  IPADDRESS类看的时候再仔细点哦 .....
      

  4.   

    MSDN  IPADDRESS类看的时候再仔细点哦 .....
    9494