Both the codes are equivalent and the IL code for both will be same. Here is a sample to demonstrate that the IL code for both will be similar:
private static void mycompareMethod()
{
    var str1 = new String(new char[10]);
    string str2 = new String(new char[10]);
}
The IL output:
{
  .method private hidebysig static void  mycompareMethod() cil managed
  .maxstack  2
  .locals init ([0] string str1,
           [1] string str2)
  IL_0000:  nop
  IL_0001:  ldc.i4.s   9
  IL_0003:  newarr     [mscorlib]System.Char
  IL_0008:  newobj     instance void [mscorlib]System.String::.ctor(char[])
  IL_000d:  stloc.0
  IL_000e:  ldc.i4.s   9
  IL_0010:  newarr     [mscorlib]System.Char
  IL_0015:  newobj     instance void [mscorlib]System.String::.ctor(char[])
  IL_001a:  stloc.1
  IL_001b:  ret
} // end of method Program::mycompareMethod