Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 18566|Răspunde: 3

[WinForm] C# specifică segmentul IP pentru a genera adresa IP

[Copiază linkul]
Postat pe 14.12.2015 15:01:40 | | | |


  1. private void button1_Click(object sender, EventArgs e)  
  2.         {  
  3.             string StartIp = "";  
  4.             string EndIp = "";  
  5.             StartIp = Startinput.Text;  
  6.             EndIp = Endinput.Text;  
  7.             uint iStartip = ipTint(StartIp);  
  8.             uint iEndIp = ipTint(EndIp);  
  9.             //string ip_result="";  
  10.             StringBuilder ip_result=new StringBuilder();  
  11.             if (iEndIp >= iStartip)  
  12.             {  
  13.                 for (uint ip = iStartip; ip <= iEndIp; ip++)  
  14.                 {  
  15.                     ip_result.Append(intTip(ip)).Append("\r\n");  
  16.                     //ip_result = ip_result + intTip(ip)+"\r\n";  
  17.                 }  
  18.                 resultTextBox.Text = ip_result.ToString();   //RichTextBox  
  19.             }  
  20.             else  
  21.             {  
  22.                 MessageBox.Show("天啊,起始ip居然比终止ip还大");  
  23.             }  
  24.         }  
  25.         public static uint ipTint(string ipStr)  
  26.         {  
  27.             string[] ip = ipStr.Split('.');  
  28.             uint ipcode = 0xFFFFFF00 | byte.Parse(ip[3]);  
  29.             ipcode = ipcode & 0xFFFF00FF | (uint.Parse(ip[2]) << 0x8);  
  30.             ipcode = ipcode & 0xFF00FFFF | (uint.Parse(ip[1]) << 0xF);  
  31.             ipcode = ipcode & 0x00FFFFFF | (uint.Parse(ip[0]) << 0x18);  
  32.             return ipcode;  
  33.         }  
  34.         public static string intTip(uint ipcode)  
  35.         {  
  36.             byte a = (byte)((ipcode & 0xFF000000) >> 0x18);  
  37.             byte b = (byte)((ipcode & 0x00FF0000) >> 0xF);  
  38.             byte c = (byte)((ipcode & 0x0000FF00) >> 0x8);  
  39.             byte d = (byte)(ipcode & 0x000000FF);  
  40.             string ipStr = string.Format("{0}.{1}.{2}.{3}", a, b, c, d);  
  41.             return ipStr;  
  42.         }  
Cod de copiere






Precedent:C# WPF folosește ZXing pentru a genera coduri QR Introducere în ImageSource
Următor:Intrarea matricei de caractere din două cifre este sortată atunci când se realizează ieșirea
Postat pe 14.12.2015 15:54:44 |
 Proprietarul| Postat pe 31.12.2015 16:25:19 |
Dacă există o eroare în adresa IP generată mai sus, folosiți următoarea metodă



Postat pe 02.01.2016 15:11:56 |
Învățat, mulțumesc că ai împărtășit
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com