PDA

Просмотр полной версии : Инкрементирование строки


Examp1e
28.12.2016, 11:48
Всем привет. Можете помочь написать метод на C# Инкриминирующий строку, принимающую в качестве аргумента в виде массива типа char. Пример результата:
00000007 - 00000008
SVA00001 - SVA00002

delamer
28.06.2017, 05:52
Всем привет. Можете помочь написать метод на 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();
}

Forpost
02.01.2019, 03:17
Проблема при работе с русским языком. Помогите, пожалуйста, пофиксить!

gudus
03.01.2019, 17:13
Проблема при работе с русским языком. Помогите, пожалуйста, пофиксить!

Попробуйте добавить русские буквы в строчку ниже:
string allCh = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГД...";