Просмотр полной версии : Инкрементирование строки
Всем привет. Можете помочь написать метод на C# Инкриминирующий строку, принимающую в качестве аргумента в виде массива типа char. Пример результата:
00000007 - 00000008
SVA00001 - SVA00002
Всем привет. Можете помочь написать метод на C# Инкриминирующий строку, принимающую в качестве аргумента в виде массива типа char. Пример результата:
00000007 - 00000008
SVA00001 - SVA00002
Не уверен, что вопрос всё еще актуален, но вдруг кому пригодится
Console Application
static string IncString(string str)
{
if (str == "") str = "0";
string allCh = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string lastCh = str.Substring(str.Length - 1);
if (lastCh != "Z")
str = str.Remove(str.Length - 1) + allCh[allCh.IndexOf(lastCh) + 1];
else
str = IncString(str.Remove(str.Length - 1)) + "0";
return str;
}
static void Main(string[] args)
{
Console.WriteLine("Inc(00000007) = " + IncString("00000007"));
Console.WriteLine("Inc(SVA00001) = " + IncString("SVA00001"));
Console.WriteLine("Inc(123) = " + IncString("123"));
Console.WriteLine("Inc(12Z) = " + IncString("12Z"));
Console.WriteLine("Inc(ZZZ) = " + IncString("ZZZ"));
Console.WriteLine("Inc() = " + IncString(""));
Console.ReadKey();
}
Проблема при работе с русским языком. Помогите, пожалуйста, пофиксить!
Проблема при работе с русским языком. Помогите, пожалуйста, пофиксить!
Попробуйте добавить русские буквы в строчку ниже:
string allCh = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГД...";
vBulletin® v3.8.9, Copyright ©2000-2026, vBulletin Solutions, Inc.