Я думаю, вы должны просто хранить счетчик в int. Я понимаю, что вы хотите сэкономить место в памяти, но, если честно, дополнительный int действительно находится в категории "приемлемых". Я имею в виду, что анализатор Int32, вероятно, тратит гораздо больше памяти. Не забывайте, что на x86 пространство памяти разделено до 4096 байтовых страниц, поэтому память тратится намного больше, чем эти 4 байта.
РЕДАКТИРОВАТЬ : Вероятно, вы хотите иметь метод, подобный GetNextFileName (), в вашем классе, который генерирует вам следующее имя файла (возможность реорганизовать ваш код в маленькие биты важна, гораздо важнее, чем экономия памяти пробел):
private int nextFileNumber = 0;
private string GetNextFileName(string userName)
{
return String.Format("{0}-{1}-{2}", DateTime.Now, userName,
nextFileNumber++);
}