title: XOR linked list
body: <p>I recently came across the link below which I have found quite interesting.</p>
  
  <p><a href="http://en.wikipedia.org/wiki/XOR_linked_list" rel="nofollow">http://en.wikipedia.org/wiki/XOR_linked_list</a></p>
  
  <ul>
  <li>General-purpose debugging tools
  cannot follow the XOR chain, making
  debugging more difficult; [1]</li>
  <li>The price for the decrease in memory
  usage is an increase in code
  complexity, making maintenance more
  expensive;</li>
  <li>Most garbage collection schemes do
  not work with data structures that do
  not contain literal pointers;</li>
  <li>XOR of pointers is not defined in
  some contexts (e.g., the C language),
  although many languages provide some
  kind of type conversion between
  pointers and integers;</li>
  <li>The pointers will be unreadable if
  one isn't traversing the list — for
  example, if the pointer to a list
  item was contained in another data
  structure;</li>
  <li>While traversing the list you need to
  remember the address of the
  previously accessed node in order to
  calculate the next node's address.</li>
  </ul>
  
  <p><strong>Now I am wondering if that is exclusive to low level languages or if that is also possible within C#?</strong></p>
  
  <p><strong>Are there any similar options to produce the same results with C#?</strong></p>