Q:

Will a literal string assignment call the String constructor like this?

Out of curiosity, if I call:
 string txt = "text"; 

Will it call this, behind the scenes?
 string txt = new String("text".ToCharArray())?

A:

string txt1 = "text"; 

loads the string "text" from the intern pool and stores it as reference in the txt1 variable.
So, for example, if you have
string txt2 = "text"; 
string txt3 = "text"; 

then ReferenceEquals(txt2, txt3) == true, because both variables reference the same string object in the intern pool.
The String Constructor creates a new, non-interned string object.
string txt4 = new String("text".ToCharArray());

So ReferenceEquals(txt1, txt4) == false.
There is one exception: new String(new char[0]) returns the reference to the "" string object in the intern pool.

A:

No it will not.  This code will translate directly into an IL stloc command.  It will essentially compile to the following 
ldstr "text"
stloc.0

