System.Net.NetworkInformation.Ping.IcmpMessage.ComputeChecksum C# (CSharp) Method

ComputeChecksum() static private method

static private ComputeChecksum ( byte data ) : ushort
data byte
return ushort
			static ushort ComputeChecksum (byte [] data)
			{
				uint ret = 0;
				for (int i = 0; i < data.Length; i += 2) {
					ushort us = i + 1 < data.Length ? data [i + 1] : (byte) 0;
					us <<= 8;
					us += data [i];
					ret += us;
				}
				ret = (ret >> 16) + (ret & 0xFFFF);
				return (ushort) ~ ret;
			}