gpt4 book ai didi

c# - 从字符串数组中删除最后一项

转载 作者:IT王子 更新时间:2023-10-29 04:01:50 26 4
gpt4 key购买 nike

我正在做一个简单的二十一点游戏项目。首先,我创建卡片数组:

string[] deck = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", };

我将它乘以 4 并给出 deckNumber:

newDeck = Enumerable.Repeat(deck, deckNumber*4).SelectMany(x => x).ToArray();

当我想从数组中删除最后一张卡片时,我应用这个:

newDeck = newDeck.Where(w => w != newDeck.Last()).ToArray();

所以问题是代码不会从数组中删除最后一项,就像有多个数组一样并从中删除所有最后一个元素。例如,一副牌:

cards: 2 3 4 5 6 7 8 9 10 J Q K A 2 3 4 5 6 7 8 9 10 J Q K A 2 3 4 5 6 7 8 9 10 J Q K A 2 3 4 5 6 7 8 9 10 J Q K A 

当我应用删除命令时,它变成:

cards: 2 3 4 5 6 7 8 9 10 J Q K 2 3 4 5 6 7 8 9 10 J Q K 2 3 4 5 6 7 8 9 10 J Q K 2 3 4 5 6 7 8 9 10 J Q K 

它从数组中删除所有 A。但我只想从整个数组中删除最后一项。有什么问题我该如何解决?

最佳答案

要仅删除最后一个元素,请使用:

newDeck = newDeck.Take(newDeck.Count() - 1).ToArray();

您的解决方案删除了​​所有等于最后一个元素的元素。对于字符串,这意味着它会删除所有等于 A

的元素

关于c# - 从字符串数组中删除最后一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26946196/

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