-2
string strSeverIP = Console.ReadLine();
string serverIpAddress = String.Split(".", strSeverIP);

サーバーアドレスの期間でこの文字列を分割して、個々の文字列を整数に解析できるようにしようとしています。これらの整数は、比較のためにテキストではなく数値としてアドレス形式に挿入されます。String.Splitは、「最適なオーバーロードされたメソッドの一致'string.Split(string []、System.StringSplitOptions)'にいくつかの無効な引数があります」というエラーを繰り返します。問題がどこにあるのかわかりません。オンラインで例を見ましたが、まだ問題を見つけることができません。問題に取り組んでくれた人々に感謝します、そして私はあなたの忍耐に感謝します。私は最高の言い回しではなく、怒っているときに問題を試すために何をしたかについては考えていません。しばらくお待ちいただきますようお願いいたします。

4

2 に答える 2

3

文字列がIPアドレスの場合は、IPAddressクラスを使用することをお勧めします。

string inputStr = "10.30.0.72";
System.Net.IPAddress ipAddress;
if (System.Net.IPAddress.TryParse(inputStr, out ipAddress))
{
    byte[] addressByte = ipAddress.GetAddressBytes();
}

これは与えるでしょうaddressByte[4] = {10, 30, 0, 72}

于 2013-03-26T19:58:20.810 に答える
1
string[] serverIpAddress = strSeverIP.Split('.');
int[] ips = new int[serverIpAddress.Length];
for (int i = 0; i < serverIpAddress.Length; ++i)
{
   if (!int.TryParse(serverIpAddress[i], out ips[i]))
      {
           //replace with whatever :)
           throw new Exception("Invalid ip!");
      }
}
于 2013-03-26T19:53:48.640 に答える