System.Net.Http.Headers.ViaHeaderValue.GetHashCode C# (CSharp) Méthode

GetHashCode() public méthode

public GetHashCode ( ) : int
Résultat int
        public override int GetHashCode()
        {
            int result = StringComparer.OrdinalIgnoreCase.GetHashCode(_protocolVersion) ^
                StringComparer.OrdinalIgnoreCase.GetHashCode(_receivedBy);

            if (!string.IsNullOrEmpty(_protocolName))
            {
                result = result ^ StringComparer.OrdinalIgnoreCase.GetHashCode(_protocolName);
            }

            if (!string.IsNullOrEmpty(_comment))
            {
                result = result ^ _comment.GetHashCode();
            }

            return result;
        }

Usage Example

        public void GetHashCode_UseSameAndDifferentRanges_SameOrDifferentHashCodes()
        {
            ViaHeaderValue via1 = new ViaHeaderValue("x11", "host");
            ViaHeaderValue via2 = new ViaHeaderValue("x11", "HOST");
            ViaHeaderValue via3 = new ViaHeaderValue("X11", "host");
            ViaHeaderValue via4 = new ViaHeaderValue("x11", "host", "HTTP");
            ViaHeaderValue via5 = new ViaHeaderValue("x11", "host", "http");
            ViaHeaderValue via6 = new ViaHeaderValue("x11", "host", null, "(comment)");
            ViaHeaderValue via7 = new ViaHeaderValue("x11", "host", "HTTP", "(comment)");
            ViaHeaderValue via8 = new ViaHeaderValue("x11", "host", "HTTP", "(COMMENT)");
            ViaHeaderValue via9 = new ViaHeaderValue("x12", "host");
            ViaHeaderValue via10 = new ViaHeaderValue("x11", "host2");
            ViaHeaderValue via11 = new ViaHeaderValue("x11", "host", "WS");
            ViaHeaderValue via12 = new ViaHeaderValue("x11", "host", string.Empty, string.Empty);

            Assert.Equal(via1.GetHashCode(), via2.GetHashCode());
            Assert.Equal(via1.GetHashCode(), via3.GetHashCode());
            Assert.NotEqual(via1.GetHashCode(), via4.GetHashCode());
            Assert.NotEqual(via1.GetHashCode(), via6.GetHashCode());
            Assert.NotEqual(via1.GetHashCode(), via7.GetHashCode());
            Assert.NotEqual(via1.GetHashCode(), via9.GetHashCode());
            Assert.NotEqual(via1.GetHashCode(), via10.GetHashCode());
            Assert.NotEqual(via4.GetHashCode(), via11.GetHashCode());
            Assert.Equal(via4.GetHashCode(), via5.GetHashCode());
            Assert.NotEqual(via4.GetHashCode(), via6.GetHashCode());
            Assert.NotEqual(via6.GetHashCode(), via7.GetHashCode());
            Assert.NotEqual(via7.GetHashCode(), via8.GetHashCode());
            Assert.Equal(via1.GetHashCode(), via12.GetHashCode());
        }