什么是检查目录1是否是目录2的子目录的简单方法,反之亦然?
我检查了Path和DirectoryInfo帮助类,但没有找到系统就绪函数.我以为它会在某处.
你们有个想法在哪里找到这个吗?
我自己试着写一张支票,但它比我开始时预期的要复杂得多.
如何检查一条路径是否是另一条路径的子路径?
只检查子字符串不是一种方法,因为可以有诸如的项目.等等
var dirUserSelected = new DirectoryInfo(Path.GetDirectoryName("SOME PATH"));
var dirWorkingFolder = new DirectoryInfo(Path.GetDirectoryName("SAME PATH AS ABOVE"));
if (dirUserSelected == dirWorkingFolder)
{
//this is skipped
}
if (dirUserSelected.Equals(dirWorkingFolder))
{
//this is skipped
}
Run Code Online (Sandbox Code Playgroud)
在调试时,我可以检查每个中的值,它们是相等的.所以我猜这是另一个byval byref误解......请有人,我该如何比较这两件事?
我有一个包含字符串项的列表,但是一些字符串包含类似的文本,我试图获取不同的列表.
我的清单包含:
-Customers\\Order1
-Customers\\Order1\\Product1
-Customers\\Order2\\Product1
-Customers\\Order2\\Product1\\Price
Run Code Online (Sandbox Code Playgroud)
从这个列表我需要得到:
-Customers\\Order1\\Product1
-Customers\\Order2\\Product1\\Price
Run Code Online (Sandbox Code Playgroud)
基本上我想省略一个字符串,如果它在列表中的另一个字符串中?
我们有一个C#应用程序,它将文件写入可配置的位置.文件集(和相对路径)在运行时确定.
我们希望确保它不能在配置的位置之外写入文件.
例如,配置的位置可能是c:\ Stuff\Export,程序在C:\ Stuff \下写入任何内容都是错误的
真的,我认为我们可以通过两种方式实现这一点:1)断言没有相关路径(要写入的文件)指定'父目录'(通常为"../") - System.Path没有指定"父"目录"路径组件虽然(就像它有路径分离,即System.Path.PathSeparator).我觉得在字符串中检查"../"有点笨拙.
2)断言生成的所有最终绝对路径(通过将输出位置与文件相对路径组合)相对于输出位置下方.我不确定如何解决这个问题.
Example usage:
Output directory: c:\Stuff\Export
Output path 1: "foo\bar\important.xls"
Output path 2: "foo\boo\something.csv"
Output path 3: "../../io.sys"
Expected final files
1. c:\Stuff\Export\foo\bar\important.xls
2. c:\Stuff\Export\foo\boo\something.csv
3. Should throw exception
Run Code Online (Sandbox Code Playgroud)