2013-06-20 4 views
0

У меня есть статическая строка:C# Increment Numeric String

статическая строка SERIAL = "000";

Мне нужно увеличить его на 1 при определенном условии. Например, значение должно быть таким:

001 
002 
003 

и так далее.

Я пробовал разные способы, но не смог понять его

+3

Что вы попробовали? –

+1

Почему вы используете строку? – ChrisBint

+3

Действительно, используйте 'int', увеличивайте его, а затем просто вызывайте' mySerialInt.ToString ("000") ' –

ответ

4

Вы можете иметь серийное значение как целое число и определить поглотитель, который будет возвращать значение в виде строки в нужном формате. Таким образом вы можете просто увеличить числовое значение сериализации.

В качестве примера:

public class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine(Counter.SerialString); 
     Counter.Serial++; 
     Console.WriteLine(Counter.SerialString); 
     Console.ReadKey(); 
    } 

    public class Counter 
    { 
     public static int Serial; 

     public static string SerialString 
     { 
      get 
      { 
       return Serial.ToString("000"); 
      } 
     } 
    } 
} 
0

Если серийный всегда 3 цифры долго, Вы можете использовать целое число, и, когда Вам это нужно как строку, просто вызовите метод ToString().

1

Один из способов - использовать метод PadLeft для метода ToString.

 int n = 000; 
     for (int i = 0; i < 100; i++) 
     { 
      n++; 
      Console.WriteLine(n.ToString().PadLeft(3, '0'));    
     } 
     Console.ReadLine(); 

Heres заголовок метод общественного строка PadLeft (интермедиат totalWidth, символ paddingChar);