C# 连接字符串以生成文件路径

C# 连接字符串以生成文件路径,c#,.net,string,C#,.net,String,非常简单的概念,但我在这里引人注目。 我试图建立一个简单的文件浏览器一样的路径,但我似乎无法得到它直接 构建路径的方法是: private string BuildFullPath(List<Project> Children) { string path = string.Empty; foreach(Project project in Children) { if (this.ParentFolde

非常简单的概念,但我在这里引人注目。 我试图建立一个简单的文件浏览器一样的路径,但我似乎无法得到它直接

构建路径的方法是:

private string BuildFullPath(List<Project> Children)
    {
        string path = string.Empty;
        foreach(Project project in Children)
        {
            if (this.ParentFolder == null)
            {
                path = this.Name;
            }
            else 
            {
                path += this.ParentFolder.Name + " > " + this.Name;
            }
        }
        return path;
    }
私有字符串BuildFullPath(列出子项)
{
字符串路径=string.Empty;
foreach(儿童项目)
{
if(this.ParentFolder==null)
{
path=this.Name;
}
其他的
{
路径+=this.ParentFolder.Name+“>”+this.Name;
}
}
返回路径;
}
伪造的数据是

Projects = new ObservableCollection<Project>();
        Project parentOne = new Project("Apple", true, null);
        Project parentTwo = new Project("Samsung", true, null);
        Project parentThree = new Project("Google", true, null);
        Project parentFour = new Project("Amazon", true, null);

        Project parentOneChildOne;
        parentOneChildOne = new Project("Mac", true, parentOne);
        Project parentOneChildTwo;
        parentOneChildTwo = new Project("iPhone", true, parentOne);
        Project parentOneChildThree;
        parentOneChildThree = new Project("iPad", true, parentOne);
        parentOne.Children.Add(parentOneChildOne);
        parentOneChildOne.Children.Add(new Project("MacBook", true, parentOneChildOne));
        parentOneChildOne.Children.Add(new Project("MacBook Pro", true, parentOneChildOne));
        parentOneChildOne.Children.Add(new Project("MacBook Air", true, parentOneChildOne));
        projects.Add(parentOne);
Projects=newobservedcollection();
Project parentOne=新项目(“苹果”,true,null);
Project parentTwo=新项目(“三星”,真,空);
Project parentThree=新项目(“谷歌”,true,null);
Project parentFour=新项目(“亚马逊”,true,null);
项目parentOneChildOne;
parentOneChildOne=新项目(“Mac”,true,parentOne);
项目父母一个孩子二;
parentOneChildTwo=新项目(“iPhone”,true,parentOne);
项目父母一个孩子三个;
parentOneChildThree=新项目(“iPad”,正确,parentOne);
parentOne.Children.Add(parentOneChildOne);
parentOneChildOne.Children.Add(新项目(“MacBook”,true,parentOneChildOne));
parentOneChildOne.Children.Add(新项目(“MacBook Pro”,true,parentOneChildOne));
parentOneChildOne.Children.Add(新项目(“MacBook Air”,true,parentOneChildOne));
添加(parentOne);

所以MacBook Pro的路径应该是Apple->Mac->MacBook->MacBook Pro,而Mac的路径应该是Apple->Mac,但似乎无法撼动它。

类似的东西

private string BuildFullPath(Project project)
    {
        string path = string.Empty;
        while(project != null) {
           if(path != string.Empty)
               path = "->" + path;
           path = project.Name + path
           project = project.ParentFolder;
        }
        return path;
    }

沿着这条线的东西

private string BuildFullPath(Project project)
    {
        string path = string.Empty;
        while(project != null) {
           if(path != string.Empty)
               path = "->" + path;
           path = project.Name + path
           project = project.ParentFolder;
        }
        return path;
    }

你的专题课是什么样子的?我有一个更好的方法来理解你的
Apple->Mac->MacBook->macbookpro
示例我看不到你在任何地方试图添加
-
。请显示您试图获得的确切字符串输出以及实际获得的内容。您的项目类是什么样子的?我有一个更好的方法来理解你的
Apple->Mac->MacBook->macbookpro
示例我看不到你在任何地方试图添加
-
。请显示您试图获得的确切字符串输出以及实际获得的内容。