代碼是:
public static bool IsValidIp(string ipAddres)
{
string[] sNumbers = ipAddres.Split('.');
int[] iNumbers = new int[sNumbers.Length];
for(int i = 0; sNumbers.Length > i; i ){
iNumbers[i] = Convert.ToInt32(sNumbers[i]);
}
return 255 >= iNumbers.Max();
}
錯誤:
System.FormatException : Input string was not in a correct format.
我嘗試了幾個輸入,例如:“0.0.0.0”、“12.255.56.1”、“137.255.156.100”。它不斷回傳相同的錯誤訊息。
uj5u.com熱心網友回復:
代替Convert.ToInt32,Int32.TryParse可能是更好的解決方案,因為它在進行轉換之前檢查輸入是否有效。
if (int.TryParse(sNumbers[i], out int result))
{
iNumbers[i] = result;
}
else
{
return false;
}
但是,我認為您正在嘗試驗證指定的引數是否是有效的 IP 地址。改用IPAddress.TryParse方法會是更好的做法。
using System.Net;
// ...
public static bool IsValidIp(string address)
{
return IPAddress.TryParse(address, out var _);
}
out var _丟棄未使用的值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/533929.html
標籤:C#细绳类型转换整数
下一篇:如何將文本拆分成單獨的行?
