// public static bool _IsValidAddressBin(string addr) { string valid = "10."; bool ok = true; if (ok = (!string.IsNullOrEmpty(addr)) && addr.Contains(".") && addr.Split('.').Length == 4) { foreach (char chr in addr) { ok = valid.Contains(chr) ? ok : false; } foreach (string str in Formatters.Divide(addr)) { ok = str.Length == 8 ? ok : false; } foreach (string str in Formatters.Divide(addr)) { ok = (str != "") ? (_IsValidAddressNumber(Convert.ToInt32(str, 2).ToString()) ? ok : false) : false; } } return(ok); }
/// <summary> /// Converte un indirizzo in base 10 in base binaria /// </summary> /// <param name="address">Indirizzo in base decimale</param> /// <returns>Indirizzo trasformato in base binaria</returns> public static string AddressIntToBin(string address) { string[] _parts = Formatters.Divide(address); string[] parts = new string[4]; for (int v = 0; v < 4; v++) { parts[v] = Convert.ToString(int.Parse(_parts[v]), 2); } for (int v = 0; v < parts.Length; v++) { while (parts[v].Length < 8) { parts[v] = "0" + parts[v]; } } string result = Formatters.Merge(parts); if (result.Length != 35) { throw new Exception("Errore interno del codice - lunghezza della Subnetmask binaria non valida!"); } return(result); }
/// <summary> /// Converte un indirizzo in base binaria in base decimale /// </summary> /// <param name="address">Indirizzo in base binaria</param> /// <returns>Indirizzo trasformato in base decimale</returns> public static string AddressBinToInt(string address) { string[] _parts = Formatters.Divide(address); int[] parts = new int[4]; for (int v = 0; v < 4; v++) { parts[v] = Convert.ToInt32(_parts[v], 2); } return(Formatters.Merge(parts)); }
public static bool _IsValidAddressInt(string addr) { string valid = "1234567890."; bool ok = true; if (ok = (!string.IsNullOrEmpty(addr)) && addr.Contains(".") && addr.Split('.').Length == 4) { foreach (char chr in addr) { ok = valid.Contains(chr) ? ok : false; } foreach (string str in Formatters.Divide(addr)) { ok = _IsValidAddressNumber(str) ? ok : false; } } return(ok); }