gpt4 book ai didi

c# - 是否可以在一行代码中使用一个 LINQ

转载 作者:太空宇宙 更新时间:2023-11-03 19:09:07 24 4
gpt4 key购买 nike

在下面的方法中,我想返回所选卡片的索引数组:

public class Card
{
public bool Selected { get; set; }

// ... other members here ...
}

public void int[] GetSelectedCards(Cards[] cards)
{
// return cards.Where(c => c.Selected).ToArray();

// above line is not what I want, I need their indices
}

有谁知道用于此的一行不错的 LINQ 代码吗?可能吗?

更新:

有趣的是,我还发现了一些东西:

return cards.Where(c => c.Selected).Select(c => Array.IndexOf(cards, c));

你怎么看?

最佳答案

您可以使用 Select 的重载它投影元素的索引以初始化匿名类型:

return cards
.Select((c, i) => new { Card = c, Index = i})
.Where(x => x.Card.Selected)
.Select(x => x.Index)
.ToArray();

关于c# - 是否可以在一行代码中使用一个 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22430465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com