IPAddress address = IPAddress.Parse("192.168.1.100");
IPAddress mask = IPAddress.Parse("255.255.255.0");
byte[] addr_bytes = address.GetAddressBytes();
byte[] mask_bytes = mask.GetAddressBytes();
byte[] result_bytes = new byte[addr_bytes.Length];
for (int i = 0; i < result_bytes.Length; i++)
result_bytes[i] = (byte)(addr_bytes[i] | mask_bytes[i]);
IPAddress result = new IPAddress(result_bytes);
// result.ToString() == "255.255.255.100"