New additions to BCL


  • DateTimeOffset is a new date time data structure that specifies an exact point in time relative to the UTC time zone.  It is made up of a date time and offset relative to the UTC time zone.  DateTimeOffset includes most of the functionality of the current DateTime and allows seamless conversion to DateTime.  DateTimeOffset also works great with TimeZoneInfo which is also new in .NET 3.5. DateTimeOffset becomes the preferred format in NET 3.5
  • Pipes
    • Anonymous Pipes are character-based and are half-duplex.  They cannot communicate over the network and support only a single server instance.  These pipes are most useful for communication between threads or between parent and child processes where the pipe handles can be easily passed when the child process is created.
    • Named pipes are far more powerful than anonymous pipes.  They can be duplex, over the network, and can support multiple server instances of a single name, making them ideal for quick-to-build, and easy to connect to, multithreaded servers.  Furthermore, they support message based communication so that a reading process can read varying-length messages precisely as sent by the writing process.  Finally, named pipes support impersonation allowing connecting processes to use their own set of permissions on remote servers.

    • Pipes are a lower level channel the WCF could be built on top of. WCF actually has its own internal pipe implementation that it uses to achieve IPC.  In the future, WCF may switch to using the public pipe implementation that we’re now providing.

  • HashSet<T> is an unordered collection containing unique elements. It has the standard collection operations Add, Remove, Contains, but since it uses a hash-based implementation, these operation are O(1). (As opposed to List<T> for example, which is O(n) for Contains and Remove.) HashSet also provides standard set operations such as union, intersection, and symmetric difference.

Via BCL Team Blog