Exemplo n.º 1
0
		/// <summary>
		/// 对给定的基数和字符串进行检查。
		/// </summary>
		/// <param name="value">包含要转换的数字的字符串,
		/// 使用不区分大小写的字母表示大于 <c>10</c> 的数。</param>
		/// <param name="fromBase"><paramref name="value"/> 中数字的基数,
		/// 它必须位于 <c>2</c> 到 <c>36</c> 之间。</param>
		/// <exception cref="System.ArgumentOutOfRangeException">
		/// <paramref name="fromBase"/> 不是 <c>2</c> 到 <c>36</c> 之间的数字。</exception>
		/// <exception cref="System.FormatException">
		/// <paramref name="value"/> 表示一个非 <c>10</c> 为基的有符号数,
		/// 但前面带一个负号。</exception>
		private static void CheckBaseConvert(string value, int fromBase)
		{
			// 基数检查。
			if (fromBase < 3 || fromBase > 36)
			{
				throw CommonExceptions.InvalidBase("fromBase", fromBase);
			}
			if (value.Length == 0)
			{
				throw CommonExceptions.NoParsibleDigits();
			}
			// 负号检查。
			if (value[0] == '-')
			{
				throw CommonExceptions.BaseConvertNegativeValue();
			}
		}