C# 如何以正确的方式捕获路径/字符串?

C# 如何以正确的方式捕获路径/字符串?,c#,string,replace,path,str-replace,C#,String,Replace,Path,Str Replace,我正在寻找最佳实践,以捕捉路径不以路径1开头的可能性。 类似path的内容等于“C:\\test\yes”,而a.Setting.PathSettings.Path1等于“C:\test\” 我怎样才能避免失败 String path1 = "C:\test\yes"; String path2 = "C:\test\yes"; pathDir = new FileInfo("C:\\\test\yes\test.txt").Directory.FullName; pathDir = path

我正在寻找最佳实践,以捕捉路径不以路径1开头的可能性。 类似path的内容等于“C:\\test\yes”,而a.Setting.PathSettings.Path1等于“C:\test\”

我怎样才能避免失败

String path1 = "C:\test\yes";
String path2 = "C:\test\yes";

pathDir = new FileInfo("C:\\\test\yes\test.txt").Directory.FullName;
pathDir = pathDir.Replace(a.Setting.PathSettings.Path1, a.Setting.PathSettings.Path2);

亲切问候

您可以使用String.StartsWith检查

if(path.StartsWith(a.Settings.PathSettings.Path1)
{
  path=path.Replace(a.Setting.PathSettings.Path1, a.Setting.PathSettings.Path2);
}

我不明白你的问题。是否要检查您的路径是否包含
Path1
?我可以问一下为什么它很重要吗?使用硬编码路径是一个坏主意,例如,任何关于文件在哪个特定驱动器上的检查都表明编程和文件处理不是很好格式更改了。。我的意思是string.replace无法将“C:\\test”与“C\test”进行比较这与我的相关吗?,
C\test
将不是有效的path@sayse一点:),编辑:可能现在更清楚了。或者我在没有问题的地方看到了问题:)。哪个格式有FileInfo.Directory.FullName?它能改变吗?