public static string GetNetworkAddressAsString(IPAddress address, IPAddress mask)
{
string netIP = ""; // Network address as string
int networkLength = 0;
if (null != mask)
{
for (int i = 0; i < 4; i++)
{
byte ba = address.GetAddressBytes()[i];
byte bm = mask.GetAddressBytes()[i];
netIP += ba & bm;
if (i < 3) netIP += ".";
networkLength += 8 - (int)System.Math.Truncate(System.Math.Log(256 - bm, 2));
}
netIP += "/" + networkLength;
}
else
{
netIP = address.ToString() + "/32";
}
return netIP;
}