AbstractIPAddressRange
The AbstractIPAddressRange is an abstract implementation of IIPAddressRange. It is extended by both IPAddress Range, and Subnet.
Functionality Implementation
IFormatable
Extensions of AbstractIPAddressRange, depending on overrides and implementation, provide a general format (G, g, or empty string) that will express a range of IP addresses in a head - tail format for example 192.168.1.1 - 192.168.1.10.
AbstractIPAddressRange IFormattable Example
[Fact]
public void IFormattable_Example()
{
// Arrange
var head = IPAddress.Parse("192.168.0.0");
var tail = IPAddress.Parse("192.168.128.0");
var ipAddressRange = new IPAddressRange(head, tail);
const string expected = "192.168.0.0 - 192.168.128.0";
// Act
var formattableString = string.Format("{0:g}", ipAddressRange);
// Assert
Assert.Equal(expected, formattableString);
}