| OLD | NEW |
| 1 #region Copyright notice and license | 1 #region Copyright notice and license |
| 2 // Protocol Buffers - Google's data interchange format | 2 // Protocol Buffers - Google's data interchange format |
| 3 // Copyright 2008 Google Inc. All rights reserved. | 3 // Copyright 2008 Google Inc. All rights reserved. |
| 4 // https://developers.google.com/protocol-buffers/ | 4 // https://developers.google.com/protocol-buffers/ |
| 5 // | 5 // |
| 6 // Redistribution and use in source and binary forms, with or without | 6 // Redistribution and use in source and binary forms, with or without |
| 7 // modification, are permitted provided that the following conditions are | 7 // modification, are permitted provided that the following conditions are |
| 8 // met: | 8 // met: |
| 9 // | 9 // |
| 10 // * Redistributions of source code must retain the above copyright | 10 // * Redistributions of source code must retain the above copyright |
| (...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 296 /// <summary> | 296 /// <summary> |
| 297 /// Returns a hash code for this object. Two equal byte strings | 297 /// Returns a hash code for this object. Two equal byte strings |
| 298 /// will return the same hash code. | 298 /// will return the same hash code. |
| 299 /// </summary> | 299 /// </summary> |
| 300 /// <returns>A hash code for this object.</returns> | 300 /// <returns>A hash code for this object.</returns> |
| 301 public override int GetHashCode() | 301 public override int GetHashCode() |
| 302 { | 302 { |
| 303 int ret = 23; | 303 int ret = 23; |
| 304 foreach (byte b in bytes) | 304 foreach (byte b in bytes) |
| 305 { | 305 { |
| 306 ret = (ret << 8) | b; | 306 ret = (ret * 31) + b; |
| 307 } | 307 } |
| 308 return ret; | 308 return ret; |
| 309 } | 309 } |
| 310 | 310 |
| 311 /// <summary> | 311 /// <summary> |
| 312 /// Compares this byte string with another. | 312 /// Compares this byte string with another. |
| 313 /// </summary> | 313 /// </summary> |
| 314 /// <param name="other">The <see cref="ByteString"/> to compare this wit
h.</param> | 314 /// <param name="other">The <see cref="ByteString"/> to compare this wit
h.</param> |
| 315 /// <returns><c>true</c> if <paramref name="other"/> refers to an equal
byte string; <c>false</c> otherwise.</returns> | 315 /// <returns><c>true</c> if <paramref name="other"/> refers to an equal
byte string; <c>false</c> otherwise.</returns> |
| 316 public bool Equals(ByteString other) | 316 public bool Equals(ByteString other) |
| (...skipping 19 matching lines...) Expand all Loading... |
| 336 | 336 |
| 337 /// <summary> | 337 /// <summary> |
| 338 /// Writes the entire byte array to the provided stream | 338 /// Writes the entire byte array to the provided stream |
| 339 /// </summary> | 339 /// </summary> |
| 340 public void WriteTo(Stream outputStream) | 340 public void WriteTo(Stream outputStream) |
| 341 { | 341 { |
| 342 outputStream.Write(bytes, 0, bytes.Length); | 342 outputStream.Write(bytes, 0, bytes.Length); |
| 343 } | 343 } |
| 344 } | 344 } |
| 345 } | 345 } |
| OLD | NEW |