Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 18952|Risposta: 3

[WinForm] C# specifica il segmento IP per generare l'indirizzo IP

[Copiato link]
Pubblicato su 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.         }  
Copia codice






Precedente:C# WPF utilizza ZXing per generare codici QR Introduzione a ImageSource
Prossimo:L'ingresso dell'array di caratteri a due cifre viene ordinato quando viene effettuato l'output
Pubblicato su 14/12/2015 15:54:44 |
 Padrone di casa| Pubblicato su 31/12/2015 16:25:19 |
Se c'è un errore nell'indirizzo IP generato sopra, utilizza il seguente metodo

  1. #region ip转换
  2.         /// <summary>
  3.         /// ip转成long
  4.         /// </summary>
  5.         /// <param name="ip"></param>
  6.         /// <returns></returns>
  7.         public static long IpToInt(string ip)
  8.         {
  9.             char[] separator = new char[] { '.' };
  10.             string[] items = ip.Split(separator);
  11.             return long.Parse(items[0]) << 24
  12.                     | long.Parse(items[1]) << 16
  13.                     | long.Parse(items[2]) << 8
  14.                     | long.Parse(items[3]);
  15.         }
  16.         /// <summary>
  17.         /// long转成ip
  18.         /// </summary>
  19.         /// <param name="ipInt"></param>
  20.         /// <returns></returns>
  21.         public static string IntToIp(long ipInt)
  22.         {
  23.             StringBuilder sb = new StringBuilder();
  24.             sb.Append((ipInt >> 24) & 0xFF).Append(".");
  25.             sb.Append((ipInt >> 16) & 0xFF).Append(".");
  26.             sb.Append((ipInt >> 8) & 0xFF).Append(".");
  27.             sb.Append(ipInt & 0xFF);
  28.             return sb.ToString();
  29.         }
  30.         #endregion
Copia codice


Pubblicato su 02/01/2016 15:11:56 |
Imparato, grazie per aver condiviso
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com