C# Path.GetPathRoot的代码示例
通过代码示例来学习C# Path.GetPathRoot方法
通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。
Path.GetPathRoot是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的Path.GetPathRoot() 已经帮大家高亮显示了,大家可以重点学习Path.GetPathRoot() 方法的写法,从而快速掌握该方法的应用。
Path.GetPathRoot的代码示例1 - TryGetNormalizedPathRoot()
using System.IO; public bool TryGetNormalizedPathRoot(string path, out string pathRoot, out string errorMessage) { pathRoot = null; errorMessage = null; string normalizedPath = null; if (!this.FileSystem.TryGetNormalizedPath(path, out normalizedPath, out errorMessage)) { return false; } pathRoot = Path.GetPathRoot(normalizedPath); return true; }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:16,代码来源:GVFSPlatform.cs
在TryGetNormalizedPathRoot()方法中,Path的代码示例类中的GetPathRoot的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetPathRoot的代码示例2 - IsSupported()
using System.IO; public bool IsSupported(string normalizedEnlistmentRootPath, out string warning, out string error) { warning = null; error = null; string pathRoot = Path.GetPathRoot(normalizedEnlistmentRootPath); DriveInfo rootDriveInfo = DriveInfo.GetDrives().FirstOrDefault(x => x.Name == pathRoot); string requiredFormat = "NTFS"; if (rootDriveInfo == null) { warning = $"Unable to ensure that '{normalizedEnlistmentRootPath}' is an {requiredFormat} volume."; } else if (!string.Equals(rootDriveInfo.DriveFormat, requiredFormat, StringComparison.OrdinalIgnoreCase)) { error = $"Error: Currently only {requiredFormat} volumes are supported. Ensure repo is located into an {requiredFormat} volume."; return false; } if (Common.NativeMethods.IsFeatureSupportedByVolume( Directory.GetDirectoryRoot(normalizedEnlistmentRootPath), Common.NativeMethods.FileSystemFlags.FILE_RETURNS_CLEANUP_RESULT_INFO)) { return true; } error = "File system does not support features required by VFS for Git. Confirm that Windows version is at or beyond that required by VFS for Git. A one-time reboot is required on Windows Server 2016 after installing VFS for Git."; return false; }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:30,代码来源:ProjFSFilter.cs
在IsSupported()方法中,Path的代码示例类中的GetPathRoot的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetPathRoot的代码示例3 - PathToDriveLetter()
using System.IO; private static char PathToDriveLetter(string path) { FileInfo fi = new FileInfo(path); string drive = Path.GetPathRoot(fi.FullName); if ((drive.Length == 3) && (drive[1] == ':') && (drive[2] == '\\')) { if ((drive[0] >= 'A') && (drive[0] <= 'Z')) { return drive[0]; } if ((drive[0] >= 'a') && (drive[0] <= 'z')) { return char.ToUpper(drive[0]); } } // A bogus path or a UNC path. This should not happen since the path should already // have been validated. throw new ArgumentException($"Could not map path '{path}' to a drive letter."); }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:23,代码来源:WindowsPhysicalDiskInfo.cs
在PathToDriveLetter()方法中,Path的代码示例类中的GetPathRoot的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetPathRoot的代码示例4 - TryGetDefaultLocalCacheRoot()
using System.IO; public override bool TryGetDefaultLocalCacheRoot(string enlistmentRoot, out string localCacheRoot, out string localCacheRootError) { string pathRoot; try { pathRoot = Path.GetPathRoot(enlistmentRoot); } catch (ArgumentException e) { localCacheRoot = null; localCacheRootError = $"Failed to determine the root of '{enlistmentRoot}'): {e.Message}"; return false; } if (string.IsNullOrEmpty(pathRoot)) { localCacheRoot = null; localCacheRootError = $"Failed to determine the root of '{enlistmentRoot}', path does not contain root directory information"; return false; } try { localCacheRoot = Path.Combine(pathRoot, GVFSConstants.DefaultGVFSCacheFolderName); localCacheRootError = null; return true; } catch (ArgumentException e) { localCacheRoot = null; localCacheRootError = $"Failed to build local cache path using root directory '{pathRoot}'): {e.Message}"; return false; } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:37,代码来源:WindowsPlatform.cs
在TryGetDefaultLocalCacheRoot()方法中,Path的代码示例类中的GetPathRoot的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetPathRoot的代码示例5 - AsWixVarToPath()
using System.IO; ///
/// 'Interprets' a string as a WiX constant and expands into a proper File System path. For example "DesktopFolder" /// will be expanded into "[SysDrive]:\Users\[user]\Desktop". This method is a logical equivalent of C# Environment.GetFolderPath. /// Though it handles discrepancies between 'special folders' mapping in .NET and WiX. /// /// /// The path. ////// The method will always be called from x86 runtime as MSI always loads ManagedUI in x86 host. /// From the other hand CustomActions are called in the deployment specific CPU type context. /// ///public static string AsWixVarToPath(this string path) { switch (path) { case "AdminToolsFolder": return Environment.SpecialFolder.ApplicationData.ToPath().PathJoin(@"Microsoft\Windows\Start Menu\Programs\Administrative Tools"); case "AppDataFolder": return Environment.SpecialFolder.ApplicationData.ToPath(); case "CommonAppDataFolder": return Environment.SpecialFolder.CommonApplicationData.ToPath(); case "CommonFiles64Folder": return Environment.SpecialFolder.CommonProgramFiles.ToPath().Replace(" (x86)", ""); case "CommonFilesFolder": return Environment.SpecialFolder.CommonProgramFiles.ToPath(); case "DesktopFolder": return Environment.SpecialFolder.Desktop.ToPath(); case "FavoritesFolder": return Environment.SpecialFolder.Favorites.ToPath(); case "ProgramFiles64Folder": return Environment.SpecialFolder.ProgramFiles.ToPath().Replace(" (x86)", ""); case "ProgramFilesFolder": return Environment.SpecialFolder.ProgramFiles.ToPath(); case "MyPicturesFolder": return Environment.SpecialFolder.MyPictures.ToPath(); case "SendToFolder": return Environment.SpecialFolder.SendTo.ToPath(); case "LocalAppDataFolder": return Environment.SpecialFolder.LocalApplicationData.ToPath(); case "PersonalFolder": return Environment.SpecialFolder.Personal.ToPath(); case "StartMenuFolder": return Environment.SpecialFolder.StartMenu.ToPath(); case "StartupFolder": return Environment.SpecialFolder.Startup.ToPath(); case "ProgramMenuFolder": return Environment.SpecialFolder.Programs.ToPath(); case "System16Folder": return Path.Combine("WindowsFolder".AsWixVarToPath(), "System"); case "System64Folder": return Environment.SpecialFolder.System.ToPath(); case "SystemFolder": return Is64OS() ? Path.Combine("WindowsFolder".AsWixVarToPath(), "SysWow64") : Environment.SpecialFolder.System.ToPath(); case "TemplateFolder": return Environment.SpecialFolder.Templates.ToPath(); case "WindowsVolume": return Path.GetPathRoot(Environment.SpecialFolder.Programs.ToPath()); case "WindowsFolder": return Environment.SpecialFolder.System.ToPath().PathGetDirName(); case "FontsFolder": return Environment.SpecialFolder.System.ToPath().PathGetDirName().PathJoin("Fonts"); case "TempFolder": return Path.GetTempPath(); // case "TempFolder": return Path.GetDirectoryName(Environment.SpecialFolder.Desktop.ToPath().Ge, @"Local Settings\Temp"); default: return path; } }
开发者ID:oleg-shilo,项目名称:wixsharp,代码行数:56,代码来源:SharedExtensions.cs
在AsWixVarToPath()方法中,Path的代码示例类中的GetPathRoot的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetPathRoot的代码示例6 - GetProjectLinkedFolder()
using System.IO; ///
/// Gets a string meant to be used as a ItemGroupItem.LinkedFolder. This property controlls how the items get organised /// in the Solution Explorer in Visual Studio, otherwise known as filters. /// /// For relative paths, a filter is created by removing any "traverse parent folder" (../) elements from the beginning /// of the path and using the remaining folder structure. /// /// For absolute paths, the drive letter is removed and the remaining folder structuer is used. /// /// Path to the ItemGroupItem's file. /// Path to the folder in which the project file will be located. /// The Project which the ItemGroupItem is a part of. ///Returns null if the file is in or under the projectPath, meaning it's within the project's influencec and is not a link. /// Return empty string if the file is in the project.SourceRootPath or project.RootPath, not under it /// Returns a valid filter resembling a folder structure in any other case. /// internal static string GetProjectLinkedFolder(string sourceFile, string projectPath, Project project) { // file is under the influence of the project and has no LinkFolder if (Util.PathIsUnderRoot(projectPath, sourceFile)) return null; string absoluteFile = Util.PathGetAbsolute(projectPath, sourceFile); var directoryName = Path.GetDirectoryName(absoluteFile); // for files under SourceRootPath or RootPath, we use the subfolder structure if (Util.PathIsUnderRoot(project.SourceRootPath, directoryName)) return directoryName.Substring(project.SourceRootPath.Length).Trim(Util._pathSeparators); if (Util.PathIsUnderRoot(project.RootPath, directoryName)) return directoryName.Substring(project.RootPath.Length).Trim(Util._pathSeparators); // Files outside all three project folders with and aboslute path use the // entire folder structure without the drive letter as filter if (Path.IsPathFullyQualified(sourceFile)) { var root = Path.GetPathRoot(directoryName); return directoryName.Substring(root.Length).Trim(Util._pathSeparators); } // Files outside all three project folders with relative paths use their // relative path with all the leading "traverse parent folder" (../) removed // Example: "../../project/source/" becomes "project/source/" var trimmedPath = Util.TrimAllLeadingDotDot(sourceFile); var fileName = Path.GetFileName(absoluteFile); return trimmedPath.Substring(0, trimmedPath.Length - fileName.Length).Trim(Util._pathSeparators); }
开发者ID:ubisoft,项目名称:Sharpmake,代码行数:50,代码来源:Csproj.cs
在GetProjectLinkedFolder()方法中,Path的代码示例类中的GetPathRoot的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetPathRoot的代码示例7 - WriteToSecondaryPath()
using System.IO; internal static void WriteToSecondaryPath(FileInfo file, MemoryStream stream) { // If a secondary path was specified to the commandline, also write a file under that folder with // full path hierarchy. if (s_fileWritesSecondaryPath == string.Empty) return; string alternateFilePath = file.FullName; if (Path.IsPathRooted(file.FullName)) alternateFilePath = file.FullName.Substring(Path.GetPathRoot(file.FullName).Length); FileInfo alternateFileInfo = new FileInfo(Path.Combine(s_fileWritesSecondaryPath, alternateFilePath)); Util.FileWriteIfDifferentInternal(alternateFileInfo, stream, bypassAutoCleanupDatabase: true); }
开发者ID:ubisoft,项目名称:Sharpmake,代码行数:15,代码来源:GenerateAll.cs
在WriteToSecondaryPath()方法中,Path的代码示例类中的GetPathRoot的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetPathRoot的代码示例8 - WriteGeneratedFile()
using System.IO; public override bool WriteGeneratedFile(Type type, FileInfo path, MemoryStream generated) { var rootPath = RemapRoot?.FullName ?? Path.GetPathRoot(path.FullName); var outFileInfo = new FileInfo(path.FullName.ReplaceHeadPath(rootPath, Output.FullName)); var refFileInfo = new FileInfo(path.FullName.ReplaceHeadPath(rootPath, Reference.FullName)); bool isDifferent = Util.IsFileDifferent(refFileInfo, generated); var outputInfo = new OutputInfo(refFileInfo.FullName, outFileInfo.FullName, isDifferent ? FileStatus.Different : FileStatus.Similar); _referenceDifferenceMap[refFileInfo.FullName] = outputInfo; Util.FileWriteIfDifferentInternal(outFileInfo, generated); return isDifferent; }
开发者ID:ubisoft,项目名称:Sharpmake,代码行数:16,代码来源:RegressionTest.cs
在WriteGeneratedFile()方法中,Path的代码示例类中的GetPathRoot的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
本文中的Path.GetPathRoot方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。