System.NumberFormatter.AppendDigits C# (CSharp) Méthode

AppendDigits() private méthode

private AppendDigits ( int start, int end ) : void
start int
end int
Résultat void
		private void AppendDigits (int start, int end)
		{
			if (start >= end)
				return;

			int i = _ind + (end - start);
			if (i > _cbuf.Length)
				Resize (i + 10);
			_ind = i;

			end += _offset;
			start += _offset;

			for (int next = start + 8 - (start & 0x7); ; start = next, next += 8) {
				uint v;
				if (next == 8)
					v = _val1;
				else if (next == 16)
					v = _val2;
				else if (next == 24)
					v = _val3;
				else if (next == 32)
					v = _val4;
				else
					v = 0;
				v >>= (start & 0x7) << 2;
				if (next > end)
					next = end;

				_cbuf [--i] = (char)('0' | v & 0xf);
				switch (next - start) {
				case 8:
					_cbuf [--i] = (char)('0' | (v >>= 4) & 0xf);
					goto case 7;
				case 7:
					_cbuf [--i] = (char)('0' | (v >>= 4) & 0xf);
					goto case 6;
				case 6:
					_cbuf [--i] = (char)('0' | (v >>= 4) & 0xf);
					goto case 5;
				case 5:
					_cbuf [--i] = (char)('0' | (v >>= 4) & 0xf);
					goto case 4;
				case 4:
					_cbuf [--i] = (char)('0' | (v >>= 4) & 0xf);
					goto case 3;
				case 3:
					_cbuf [--i] = (char)('0' | (v >>= 4) & 0xf);
					goto case 2;
				case 2:
					_cbuf [--i] = (char)('0' | (v >>= 4) & 0xf);
					goto case 1;
				case 1:
					if (next == end)
						return;
					continue;
				}
			}
		}

Same methods

NumberFormatter::AppendDigits ( int start, int end, StringBuilder sb ) : void