Метод Path.GetRandomFileName
Метод Path.GetRandomFileName генерирует
строку вроде "abcd.tmp" без папок.
Файл не создаётся - в отличие от
GetTempFileName.
Конкретное имя в вывод не кладут.
Синтаксис
string name = Path.GetRandomFileName();
Пример
Давайте проверим, что в имени нет разделителя каталогов:
using System;
using System.IO;
class Program
{
static void Main()
{
string name = Path.GetRandomFileName();
bool res = name.IndexOf(Path.DirectorySeparatorChar) < 0
&& name.IndexOf(Path.AltDirectorySeparatorChar) < 0;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте убедимся, что файла с таким именем ещё нет в текущей папке:
using System;
using System.IO;
class Program
{
static void Main()
{
string name = Path.GetRandomFileName();
string path = Path.Combine("abcde", name);
bool res = !File.Exists(path);
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте проверим, что у имени есть расширение:
using System;
using System.IO;
class Program
{
static void Main()
{
string name = Path.GetRandomFileName();
bool res = Path.HasExtension(name);
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
GetTempFileName,
создаёт файл на диске -
Combine,
добавить имя к папке -
WriteAllText,
записать по сгенерированному пути -
Path,
разбор путей