Archives

Archives / 2017
  • Updating dictionary keys and GetHashCode

    I just came across an interesting problem looking over a coworker's code. He was calling external code that returned a populated Dictionary. The key of the dictionary is a custom class with simple int properties that implements IEquatable, kind of like a composite key, but only part of the key was populated. He needed all components of the key populated, so he looped through its items and populated those keys.

  • Struct vs. class

    Structs seem to be largely ignored in .NET. Everyone uses them (Int32 is pretty common!), but rarely pay attention to the fact that they're structs instead of classes, and rarely need to. I've worked on several projects where I don't think a single custom struct was defined. A good .NET/C# programmer should understand the differences between classes and structs as they consume them, but when creating a new type, most folks just create a class without a second thought (a class is usually the right answer anyway).

  • Office 365 Outlook - goodbye to conversation view

    A couple years ago, one of my email addresses was transitioned from the classic Outlook Web Access to Office 365. I appreciated the cleaner & more modern looking interface, but noticed a few steps backward that made me scratch my head. Things that seemed easy & intuitive in the old OWA, and in Hotmail, were harder or even impossible in Office 365 Outlook.