Skip to content

Commit d20a7af

Browse files
committed
some string -> StringBuilder
1 parent 6353d03 commit d20a7af

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

CodingSeb.ExpressionEvaluator/ExpressionEvaluator.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1603,7 +1603,7 @@ private bool EvaluateIndexing(string expr, string s, Stack<object> stack, ref in
16031603

16041604
if (indexingBeginningMatch.Success)
16051605
{
1606-
string innerExp = "";
1606+
StringBuilder innerExp = new StringBuilder();
16071607
i += indexingBeginningMatch.Length;
16081608
int bracketCount = 1;
16091609
for (; i < expr.Length; i++)
@@ -1613,7 +1613,7 @@ private bool EvaluateIndexing(string expr, string s, Stack<object> stack, ref in
16131613
if (internalStringMatch.Success)
16141614
{
16151615
string innerString = internalStringMatch.Value + GetCodeUntilEndOfString(expr.Substring(i + internalStringMatch.Length), internalStringMatch);
1616-
innerExp += innerString;
1616+
innerExp.Append(innerString);
16171617
i += innerString.Length - 1;
16181618
}
16191619
else
@@ -1627,7 +1627,7 @@ private bool EvaluateIndexing(string expr, string s, Stack<object> stack, ref in
16271627
bracketCount--;
16281628
if (bracketCount == 0) break;
16291629
}
1630-
innerExp += s;
1630+
innerExp.Append(s);
16311631
}
16321632
}
16331633

@@ -1637,7 +1637,7 @@ private bool EvaluateIndexing(string expr, string s, Stack<object> stack, ref in
16371637
throw new Exception($"{bracketCount} ']' character {beVerb} missing in expression : [{expr}]");
16381638
}
16391639

1640-
dynamic right = Evaluate(innerExp);
1640+
dynamic right = Evaluate(innerExp.ToString());
16411641
ExpressionOperator op = indexingBeginningMatch.Length == 2 ? ExpressionOperator.IndexingWithNullConditional : ExpressionOperator.Indexing;
16421642
dynamic left = stack.Pop();
16431643

@@ -1667,32 +1667,32 @@ private bool EvaluateString(string expr, string s, string restOfExpression, Stac
16671667

16681668
bool endOfString = false;
16691669

1670-
string resultString = string.Empty;
1670+
StringBuilder resultString = new StringBuilder();
16711671

16721672
while (!endOfString && i < expr.Length)
16731673
{
16741674
Match stringMatch = stringRegexPattern.Match(expr.Substring(i, expr.Length - i));
16751675

1676-
resultString += stringMatch.Value;
1676+
resultString.Append(stringMatch.Value);
16771677
i += stringMatch.Length;
16781678

16791679
if (expr.Substring(i)[0] == '"')
16801680
{
16811681
endOfString = true;
1682-
stack.Push(resultString);
1682+
stack.Push(resultString.ToString());
16831683
}
16841684
else if (expr.Substring(i)[0] == '{')
16851685
{
16861686
i++;
16871687

16881688
if (expr.Substring(i)[0] == '{')
16891689
{
1690-
resultString += @"{";
1690+
resultString.Append("{");
16911691
i++;
16921692
}
16931693
else
16941694
{
1695-
string innerExp = "";
1695+
StringBuilder innerExp = new StringBuilder();
16961696
int bracketCount = 1;
16971697
for (; i < expr.Length; i++)
16981698
{
@@ -1701,7 +1701,7 @@ private bool EvaluateString(string expr, string s, string restOfExpression, Stac
17011701
if (internalStringMatch.Success)
17021702
{
17031703
string innerString = internalStringMatch.Value + GetCodeUntilEndOfString(expr.Substring(i + internalStringMatch.Length), internalStringMatch);
1704-
innerExp += innerString;
1704+
innerExp.Append(innerString);
17051705
i += innerString.Length - 1;
17061706
}
17071707
else
@@ -1716,7 +1716,7 @@ private bool EvaluateString(string expr, string s, string restOfExpression, Stac
17161716
i++;
17171717
if (bracketCount == 0) break;
17181718
}
1719-
innerExp += s;
1719+
innerExp.Append(s);
17201720
}
17211721
}
17221722

@@ -1725,7 +1725,7 @@ private bool EvaluateString(string expr, string s, string restOfExpression, Stac
17251725
string beVerb = bracketCount == 1 ? "is" : "are";
17261726
throw new Exception($"{bracketCount} '}}' character {beVerb} missing in expression : [{expr}]");
17271727
}
1728-
resultString += Evaluate(innerExp).ToString();
1728+
resultString.Append(Evaluate(innerExp.ToString()));
17291729
}
17301730
}
17311731
else if (expr.Substring(i, expr.Length - i)[0] == '}')
@@ -1734,7 +1734,7 @@ private bool EvaluateString(string expr, string s, string restOfExpression, Stac
17341734

17351735
if (expr.Substring(i, expr.Length - i)[0] == '}')
17361736
{
1737-
resultString += @"}";
1737+
resultString.Append("}");
17381738
i++;
17391739
}
17401740
else
@@ -1748,7 +1748,7 @@ private bool EvaluateString(string expr, string s, string restOfExpression, Stac
17481748

17491749
if (stringEscapedCharDict.TryGetValue(expr.Substring(i, expr.Length - i)[0], out string escapedString))
17501750
{
1751-
resultString += escapedString;
1751+
resultString.Append(escapedString);
17521752
i++;
17531753
}
17541754
else

0 commit comments

Comments
 (0)