Попробуй так:
Код | class Program { static void Main(string[] args) { Console.WriteLine(IncrementString("00000007")); Console.WriteLine(IncrementString("SVA00001")); Console.ReadLine(); } private static string IncrementString(string s) { char[] a = s.ToCharArray(); Array.Reverse(a); int cf = 0; bool x = true; for (int i = 0; i < a.Length;++i ) { if( i > 0 && cf == 0 ) { break; } char c = a[i]; if (char.IsDigit(c)) { int k = Convert.ToInt16(c) - 48; if (i == 0) { k++; } else { k += cf; } cf = k / 10; a[i] = Convert.ToChar(48 + k % 10); } else { break; } } Array.Reverse(a); return new string(a); } }
|
Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Inkrementirovaniye-stroki-id5863753984a74b50754c3003#findElement_E7045_5864a9a507af9331b674c710_0 |