diff options
author | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2016-07-12 16:35:06 +0300 |
---|---|---|
committer | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2016-07-12 16:35:06 +0300 |
commit | cd460273427ac62e4ff3cd076c6898d678e02893 (patch) | |
tree | ab568d8c7974db3ff974e3c19def471473ec3236 | |
parent | 4247708717b8279a27e99eefc0ce1cdb46f83952 (diff) |
[Misc] Remove some extra string allocations.
5 files changed, 7 insertions, 6 deletions
diff --git a/Mono.Addins.Gui/Mono.Addins.Gui/AddinTreeWidget.cs b/Mono.Addins.Gui/Mono.Addins.Gui/AddinTreeWidget.cs index 2032409..a91be43 100644 --- a/Mono.Addins.Gui/Mono.Addins.Gui/AddinTreeWidget.cs +++ b/Mono.Addins.Gui/Mono.Addins.Gui/AddinTreeWidget.cs @@ -352,7 +352,7 @@ namespace Mono.Addins.Gui int i = txt.IndexOf (filter, StringComparison.CurrentCultureIgnoreCase); while (i != -1) { sb.Append (GLib.Markup.EscapeText (txt.Substring (last, i - last))); - sb.Append ("<span color='blue'>").Append (txt.Substring (i, filter.Length)).Append ("</span>"); + sb.Append ("<span color='blue'>").Append (txt, i, filter.Length).Append ("</span>"); last = i + filter.Length; i = txt.IndexOf (filter, last, StringComparison.CurrentCultureIgnoreCase); } diff --git a/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressStatusMonitor.cs b/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressStatusMonitor.cs index b1bde23..952a80e 100644 --- a/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressStatusMonitor.cs +++ b/Mono.Addins.Setup/Mono.Addins.Setup.ProgressMonitoring/ProgressStatusMonitor.cs @@ -102,7 +102,7 @@ namespace Mono.Addins.Setup.ProgressMonitoring pi = i + 1; i = text.IndexOf ('\n', pi); } - logBuffer.Append (text.Substring (pi)); + logBuffer.Append (text, pi, text.Length - pi); } public TextWriter Log { diff --git a/Mono.Addins.Setup/Mono.Addins.Setup/PcFileCache.cs b/Mono.Addins.Setup/Mono.Addins.Setup/PcFileCache.cs index cadccf3..8c0d897 100644 --- a/Mono.Addins.Setup/Mono.Addins.Setup/PcFileCache.cs +++ b/Mono.Addins.Setup/Mono.Addins.Setup/PcFileCache.cs @@ -546,7 +546,7 @@ namespace Mono.PkgConfig StringBuilder sb = new StringBuilder (); int last = 0; while (i != -1 && i < value.Length) { - sb.Append (value.Substring (last, i - last)); + sb.Append (value, last, i - last); if (i == 0 || value [i - 1] != '$') { // Evaluate if var is not escaped i += 2; @@ -572,7 +572,7 @@ namespace Mono.PkgConfig if (i < value.Length - 1) i = value.IndexOf ("${", i); } - sb.Append (value.Substring (last, value.Length - last)); + sb.Append (value, last, value.Length - last); return sb.ToString (); } } diff --git a/Mono.Addins.Setup/Mono.Addins.Setup/TextFormatter.cs b/Mono.Addins.Setup/Mono.Addins.Setup/TextFormatter.cs index 0aa3719..c1f37a1 100644 --- a/Mono.Addins.Setup/Mono.Addins.Setup/TextFormatter.cs +++ b/Mono.Addins.Setup/Mono.Addins.Setup/TextFormatter.cs @@ -201,7 +201,7 @@ namespace Mono.Addins.Setup } if (n != sn) - currentWord.Append (text.Substring (sn, n - sn)); + currentWord.Append (text, sn, n - sn); if (foundSpace) { AppendCurrentWord (text[n]); n++; diff --git a/Mono.Addins/Mono.Addins.Description/AddinDescription.cs b/Mono.Addins/Mono.Addins.Description/AddinDescription.cs index 6b3059b..724204f 100644 --- a/Mono.Addins/Mono.Addins.Description/AddinDescription.cs +++ b/Mono.Addins/Mono.Addins.Description/AddinDescription.cs @@ -1009,7 +1009,8 @@ namespace Mono.Addins.Description if (i == -1) return input; - StringBuilder result = new StringBuilder (input.Substring (0, i), input.Length); + StringBuilder result = new StringBuilder (input.Length); + result.Append (input, 0, i); while (i < input.Length) { if (input [i] == '$') { |