Метод Path.GetPathRoot
Метод Path.GetPathRoot для
относительного abcde.txt даёт
пустую строку или null. Для полного
пути корень не пустой: на Linux это
"/", на Windows - "C:\\"
или другая буква диска. Букву в вывод
не фиксируют - проверяют непустоту.
Синтаксис
string? root = Path.GetPathRoot(path);
Пример
Давайте проверим корень у abcde.txt:
using System;
using System.IO;
class Program
{
static void Main()
{
string? root = Path.GetPathRoot("abcde.txt");
bool res = string.IsNullOrEmpty(root);
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте возьмём корень полного пути:
using System;
using System.IO;
class Program
{
static void Main()
{
string full = Path.GetFullPath("abcde.txt");
string? root = Path.GetPathRoot(full);
bool res = !string.IsNullOrEmpty(root);
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте сравним длину корня полного и относительного пути:
using System;
using System.IO;
class Program
{
static void Main()
{
string? relRoot = Path.GetPathRoot("12345.txt");
string? fullRoot = Path.GetPathRoot(Path.GetFullPath("12345.txt"));
int lenRel = relRoot?.Length ?? 0;
int lenFull = fullRoot?.Length ?? 0;
bool res = lenFull > lenRel;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
IsPathRooted,
есть ли корень в пути -
GetFullPath,
полный путь с корнем -
DirectorySeparatorChar,
разделитель каталогов -
Path,
классPath