diff --git a/XRTK-Core/Packages/com.xrtk.core/Extensions/StringExtensions.cs b/XRTK-Core/Packages/com.xrtk.core/Extensions/StringExtensions.cs
index 1d799d38c..569ba6b07 100644
--- a/XRTK-Core/Packages/com.xrtk.core/Extensions/StringExtensions.cs
+++ b/XRTK-Core/Packages/com.xrtk.core/Extensions/StringExtensions.cs
@@ -11,6 +11,12 @@ namespace XRTK.Extensions
///
public static class StringExtensions
{
+ public const string WhiteSpace = " ";
+
+ public const string Backslash = "\\";
+
+ public const string ForwardSlash = "/";
+
///
/// Encodes the string to base 64 ASCII.
///
@@ -18,8 +24,7 @@ public static class StringExtensions
/// Encoded string.
public static string EncodeTo64(this string toEncode)
{
- byte[] toEncodeAsBytes = Encoding.ASCII.GetBytes(toEncode);
- return Convert.ToBase64String(toEncodeAsBytes);
+ return Convert.ToBase64String(Encoding.ASCII.GetBytes(toEncode));
}
///
@@ -29,8 +34,7 @@ public static string EncodeTo64(this string toEncode)
/// Decoded string.
public static string DecodeFrom64(this string encodedData)
{
- byte[] encodedDataAsBytes = Convert.FromBase64String(encodedData);
- return Encoding.ASCII.GetString(encodedDataAsBytes);
+ return Encoding.ASCII.GetString(Convert.FromBase64String(encodedData));
}
///
@@ -41,13 +45,13 @@ public static string DecodeFrom64(this string encodedData)
public static string ToProperCase(this string value)
{
// If there are 0 or 1 characters, just return the string.
- if (value == null) { return value; }
+ if (value == null) { return string.Empty; }
if (value.Length < 2) { return value.ToUpper(); }
// If there's already spaces in the string, return.
- if (value.Contains(" ")) { return value; }
+ if (value.Contains(WhiteSpace)) { return value; }
// Start with the first character.
- string result = value.Substring(0, 1).ToUpper();
+ var result = new StringBuilder(value.Substring(0, 1).ToUpper());
// Add the remaining characters.
for (int i = 1; i < value.Length; i++)
@@ -58,18 +62,18 @@ public static string ToProperCase(this string value)
if (isUpper && !wasLastCharUpper && nextIsLower)
{
- result += " ";
+ result.Append(WhiteSpace);
}
- result += value[i];
+ result.Append(value[i]);
if (isUpper && wasLastCharUpper && !nextIsLower)
{
- result += " ";
+ result.Append(WhiteSpace);
}
}
- return result;
+ return result.ToString();
}
///
@@ -79,7 +83,7 @@ public static string ToProperCase(this string value)
///
public static string ToBackSlashes(this string value)
{
- return value.Replace("\\", "/");
+ return value.Replace(Backslash, ForwardSlash);
}
///
@@ -88,7 +92,7 @@ public static string ToBackSlashes(this string value)
///
public static string ToForwardSlashes(this string value)
{
- return value.Replace("/", "\\");
+ return value.Replace(ForwardSlash, Backslash);
}
}
}