瀏覽代碼

2005-05-22 Ben Maurer <[email protected]>

	* BitConverter.cs: Speed this up, fixing 74014. Patch from
	`Aleksandar Dezelin'.


svn path=/trunk/mcs/; revision=44897
Ben Maurer 20 年之前
父節點
當前提交
1ca60576e9
共有 2 個文件被更改,包括 12 次插入4 次删除
  1. 7 4
      mcs/class/corlib/System/BitConverter.cs
  2. 5 0
      mcs/class/corlib/System/ChangeLog

+ 7 - 4
mcs/class/corlib/System/BitConverter.cs

@@ -28,6 +28,8 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Text;
+
 namespace System
 {
 	public sealed class BitConverter
@@ -282,12 +284,12 @@ namespace System
 			if (startIndex > value.Length - length)
 				throw new ArgumentException ("startIndex + length > value.Length");
 
-			string ret = "";
+			StringBuilder builder = new StringBuilder(length * 3 - 1);
 			int end = startIndex + length;
 
 			for (int i = startIndex; i < end; i++) {
 				if (i > startIndex)
-					ret = ret + '-';
+					builder.Append('-');
 				
 				char high = (char)((value[i] >> 4) & 0x0f);
 				char low = (char)(value[i] & 0x0f);
@@ -305,10 +307,11 @@ namespace System
 					low -= (char) 10;
 					low += 'A';
 				}
-				ret = ret + high + low;
+				builder.Append(high);
+				builder.Append(low);
 			}
 
-			return ret;
+			return builder.ToString ();
 		}
 	}
 }

+ 5 - 0
mcs/class/corlib/System/ChangeLog

@@ -1,3 +1,8 @@
+2005-05-22  Ben Maurer  <[email protected]>
+
+	* BitConverter.cs: Speed this up, fixing 74014. Patch from
+	`Aleksandar Dezelin'.
+
 2005-05-20  Zoltan Varga  <[email protected]>
 
 	* Type.cs: Add some helper methods needed by other classes.