As David implies, there difference between String.Empty and “” are pretty small, but there is a difference.  “” actually creates an object, it will likely be pulled out of the string intern pool, but still… while String.Empty creates no object… so if you are really looking for ultimately in memory efficiency, I suggest String.Empty.  However, you should keep in mind the difference is so trival you will like never see it in your code…

 

As for System.String.Empty or string.Empty or String.Empty… my care level is low ;-)