以编程方式确定项目C#解决方案中的索引

时间:2014-01-02 08:29:42

标签: c# solution visual-studio-project

方法Solution.Projects.Index(Object index)获取项目索引作为数字。

我有项目的名称。如何以编程方式确定此项目解决方案中的索引?

2 个答案:

答案 0 :(得分:6)

您可以使用linq:

string yourProject = "ProjectName";
var query = Solution.Projects.Cast<Project>()
            .Select((p, i) => new { Name = p.Name, Index = i})
            .First(p => p.Name == yourProject).Index;

答案 1 :(得分:1)

如果您拥有项目的名称,则可以遍历所有项目以查找所需项目的索引:

int index = 0;
foreach(Project project in dte.Solution.Projects)
{
    if (string.Equals(project.Name, "desired project name"))
    {
        break;
    }
    index++;
}

另一方面,为什么你真的需要项目的索引?您也可以将Item方法与项目名称一起用作参数。

  

传递给index的值是一个整数,它是其集合中Project对象的索引。 index的值也可以是一个字符串值,等于集合中项目的名称。