I was doing a local test to compare Replace operations performance from String and StringBuilder in C# but for String I was using the following code:

```
String str = "String to be tested. String to be tested. String to be tested."
str = str.Replace("i", "in");
str = str.Replace("to", "ott");
str = str.Replace("St", "Tsr");
str = str.Replace(".", "\n");
str = str.Replace("be", "or be");
str = str.Replace("al", "xd");

```

but then, after noticing that String.Replace() was faster than StringBuilder.Replace() I proceeded to test the following code against the one above:

```
String str = "String to be tested. String to be tested. String to be tested."
str = str.Replace("i", "in").Replace("to", "ott").Replace("St", "Tsr").Replace(".", "\n").Replace("be", "or be").Replace("al", "xd");

```

And this last one turned out to be around 10% to 15% times faster, any ideas on why is it faster? Is assigning a value to the same variable that expensive?