public static string ToString(byte[] value, int startIndex, int length) { if (value == null) { throw new ArgumentNullException("value"); } if (startIndex < 0 || (startIndex >= value.Length && startIndex > 0)) { throw new ArgumentOutOfRangeException("startIndex", Environment.GetResourceString("ArgumentOutOfRange_StartIndex")); } if (length < 0) { throw new ArgumentOutOfRangeException("length", Environment.GetResourceString("ArgumentOutOfRange_GenericPositive")); } if (startIndex > value.Length - length) { throw new ArgumentException(Environment.GetResourceString("Arg_ArrayPlusOffTooSmall")); } if (length == 0) { return(string.Empty); } if (length > 715827882) { throw new ArgumentOutOfRangeException("length", Environment.GetResourceString("ArgumentOutOfRange_LengthTooLarge", new object[] { 715827882 })); } int num = length * 3; char[] array = new char[num]; int num2 = startIndex; for (int i = 0; i < num; i += 3) { byte b = value[num2++]; array[i] = BitConverter.GetHexValue((int)(b / 16)); array[i + 1] = BitConverter.GetHexValue((int)(b % 16)); array[i + 2] = '-'; } return(new string(array, 0, array.Length - 1)); }
public static string ToString(byte[] value, int startIndex, int length) { if (value == null) { throw new ArgumentNullException("byteArray"); } if (startIndex < 0 || startIndex >= value.Length && startIndex > 0) { throw new ArgumentOutOfRangeException("startIndex", Environment.GetResourceString("ArgumentOutOfRange_StartIndex")); } if (length < 0) { throw new ArgumentOutOfRangeException("length", Environment.GetResourceString("ArgumentOutOfRange_GenericPositive")); } if (startIndex > value.Length - length) { throw new ArgumentException(Environment.GetResourceString("Arg_ArrayPlusOffTooSmall")); } if (length == 0) { return(string.Empty); } if (length > 715827882) { throw new ArgumentOutOfRangeException("length", Environment.GetResourceString("ArgumentOutOfRange_LengthTooLarge", (object)715827882)); } int length1 = length * 3; char[] chArray = new char[length1]; int num1 = startIndex; int index = 0; while (index < length1) { byte num2 = value[num1++]; chArray[index] = BitConverter.GetHexValue((int)num2 / 16); chArray[index + 1] = BitConverter.GetHexValue((int)num2 % 16); chArray[index + 2] = '-'; index += 3; } return(new string(chArray, 0, chArray.Length - 1)); }