Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
b0lt
Apr 29, 2005

Deus Rex posted:

Let's be clear about what you're saying here - TFS is free up to 5 developers until you have to purchase a support contract from some TFS consultant to figure out how to make it work.

"You should use TFS" - a TFS consultant

Adbot
ADBOT LOVES YOU

b0lt
Apr 29, 2005

ljw1004 posted:

There is a chance that it's bad! e.g.

code:
class C {
   public string s {get; set;}
   public override int GetHashCode() {return s==null ? 0 : s.GetHashCode();}
}
This is bad because if ever the string changes while an instance of "C" is inside the HashSet, then it will be in there under the previous has-code rather than the new one.

The general rule is: only compute GetHashCode from fields/properties that are guaranteed not to change after construction, e.g. because they have the readonly modifier

The better rule is don't use mutable values as keys to a hashmap. The even better rule is don't use mutable values.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply