이번에는 문자열 구문을 직접 분석하지 않았다. 이미 이 함수를 호출할 때 처리했다. string 대신 Uri를 써서 더 서술적이고 쓰기 쉬운 코드가 되었다. 구문 분석이나 유효성 검사가 코드 초기에 일어나기 때문에 디버깅하기도 더 쉬워진다. 책의 뒷부분에서 디버깅에 대한 내용을 다루고 있지만, 가장 좋은 디버깅은 애초에 디버깅을 하지 않는 것이다.
.NET은 int, string, float 등과 같은 원시 데이터 타입 외에도 다른 많은 유용한 데이터 타입을 제공한다. 예를 들어 IPAddress는 유효성 검사 기능뿐만 아니라 요즘 사용되는 IPv6를 지원하기 때문에 string에 비해 IP 주소를 저장하기에 더 좋은 대안이 되며, 믿기 어려울 정도의 기능을 제공한다. 이 클래스에는 로컬 주소를 정의하는 멤버도 있다.
var testAddress = IPAddress.Loopback;
이런 식으로 루프백 주소가 필요할 때마다 일일이 127.0.0.1을 쓰지 않고 빠르게 불러올 수 있다. IP 주소를 잘못 입력하면 문자열을 사용할 때보다 더 빨리 이를 잡아낸다.