小编Slu*_*sie的帖子

对列表求和,但仅针对某个点之后的值

我正在写一个网页来记录纸牌游戏的分数。到目前为止让球员得分很容易,但有一个转折点。在任何回合中,玩家得分可以在回合开始时重置为零。我不想更改任何前几轮的得分,所以我只想在(包括)重置后获得轮数的总和。玩家可能会在一场比赛中多次重置他们的分数,或者根本不重置。

我可以通过一个多阶段的过程来获得正确的分数,即找到最后一次(如果有的话)分数重置,然后对所有手牌(或所有手牌没有重置)求和 - 请参阅 PlayerGame.GetPlayerScore。

我仍然试图了解使用 LINQ 做事情的更复杂的方法,我想知道是否有办法使用单个 LINQ 语句来做到这一点?

最小代码:

class Program
{
    static void Main(string[] args)
    {
        PlayerGame playerGame = new PlayerGame();

        playerGame.PlayerHands = new List<PlayerHand>
        {
            new PlayerHand { Round = 1, Score = 10 },
            new PlayerHand { Round = 2, Score = 20 },
            new PlayerHand { Round = 3, Score = 30 },
            new PlayerHand { Round = 4, Score = 40, Reset = true },
            new PlayerHand { Round = 5, Score = …
Run Code Online (Sandbox Code Playgroud)

c# linq

6
推荐指数
1
解决办法
113
查看次数

标签 统计

c# ×1

linq ×1