首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >属性中的不同/唯一值

属性中的不同/唯一值
EN

Stack Overflow用户
提问于 2016-01-11 00:15:37
回答 1查看 262关注 0票数 1

有没有一种方法可以提取属性中的唯一值,假设有一些分隔符。所以如果我有

代码语言:javascript
复制
<PropertyGroup>
  <Values>foo;bar;bar;foo</Values>
</PropertyGroup>

有没有一种方法可以获得一个值为"foo;bar“的属性而不需要重复的值?我知道Item函数Distinct,但还不能想出一种将其用于属性的方法。

EN

Stack Overflow用户

发布于 2016-01-11 06:53:42

下面是一个关于如何使用ItemGroup的Distinct方法并将结果分配回属性的示例:

代码语言:javascript
复制
<Project DefaultTargets="TestDistinct" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Values>foo;bar;bar;foo</Values>
  </PropertyGroup>
  <Target Name="TestDistinct">
    <ItemGroup>
      <ValueGroup Include="$(Values)"/>
    </ItemGroup>
    <PropertyGroup>
      <DistinctValues>@(ValueGroup->Distinct())</DistinctValues>
    </PropertyGroup>
    <Message Text="$(DistinctValues)" />
   </Target>
 </Project>

快速解释它是如何工作的。MSBuild的PropertyGroup只能包含单值元素(属性)。ItemGroup类似于列表。由于您需要对值列表进行操作--要提取不同的列表,您需要一个ItemGroup。然后应用Distinct()方法并将结果分配给一个新属性,这里称为<DistinctValues>。现在您有了一个属性,它包含与原始<Values>属性不同的元素。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34707714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档