예제 #1
0
        public Octeto(Octeto octeto)
        {
            bits = new bool[8];

            for (var i = 7; i >= 0; --i)
            {
                bits[i] = octeto.bits[i];
            }
        }
예제 #2
0
        public void AplicarMascaraDeRede(Octeto mascara)
        {
            if (mascara == null)
            {
                throw new ArgumentNullException(nameof(mascara), "Máscara não pode ser nula.");
            }

            for (var i = 7; i >= 0; --i)
            {
                bits[i] = bits[i] && mascara.bits[i];
            }
        }
예제 #3
0
        public EnderecoMAC(string valor)
        {
            var array = valor.Split('.');

            if (array.Length != 6)
            {
                throw new ArgumentOutOfRangeException(nameof(valor), "Quantidade de octetos inválido.");
            }

            octetos = new Octeto[6];
            var k   = 0;
            var arr = array;
            var len = array.Length;

            for (var i = 0; i < len; ++i)
            {
                var oc  = arr[i];
                var val = Convert.ToInt32(oc, 16);
                Octetos[k] = new Octeto(val);
                ++k;
            }
        }