title: About the dot (.) operator of c#
body: <p>Sorry about the last post...here is another one.</p>
  
  <p>So far I've seem people use the (.) operator to :</p>
  
  <p>(1) access member of structure</p>
  
  <p>(2) access static/constant member of a class</p>
  
  <p>(3) access literal of a enum-type</p>
  
  <p>(for example, those of dayofweek.cs <a href="http://referencesource.microsoft.com/#mscorlib/system/dayofweek.cs" rel="nofollow noreferrer">http://referencesource.microsoft.com/#mscorlib/system/dayofweek.cs</a>)</p>
  
  <p><strong>without having object/instance of that structure/class/enum</strong> .</p>
  
  <p>I know that an operator's meaning can depend on its operand;</p>
  
  <p>but some of them looks kind of weird to me.</p>
  
  <p>For example, in the case of (3):</p>
  
  <p>In C#, I can write:
  <code>
  DayOfWeek a;
  if (a == DayOfWeek.Sunday) *do something...*</code>;</p>
  
  <p>but in C, I can only write:
  <code>
  DayOfWeek a;
  if (a == Sunday) *do something...*</code>.</p>
  
  <p>For another example, in the case of (1):</p>
  
  <p>In C, only after we have an instance of a structure can we do operation to its member;</p>
  
  <p>but in C#, just like in <a href="https://stackoverflow.com/questions/24888864/two-things-about-source-code-of-struct-datatime-in-c-sharp">https://stackoverflow.com/questions/24888864/two-things-about-source-code-of-struct-datatime-in-c-sharp</a>, we can directly use NAME(i.e., <code>DataTime</code>) of a structure to access its member(i.e., <code>Maxticks</code>), i.e.,<code>DataTime.Maxticks</code></p>
  
  <p>There obviously is some difference, right?</p>
  
  <p>Where can I read the thorough tutorial or doc of this operation, saying what how I can use this operation? Only the language spec?</p>
  
  <p>**I actually don't appreciate the way learning that by looking through examples using this operation one-by-one, because they don't tell me "how to use it", but just "what I can do with it"; these two are different, though.</p>