【发布时间】:2016-05-21 12:49:49
【问题描述】:
如何检查一个字符串是否可以由字符列表(或数组)中的字符组成,同时考虑重复的字母。
所以,假设我有字符串(或字符数组/列表/任何东西)“abcc”和字符列表(或数组/字符串/任何东西,它都可以转换为任何东西)“['c'],[ 'b'],['a']"。如何将这两个值相互检查,但还要考虑到 'c' 在 char 数组中只存在一次,因此它应该会失败。
我知道我可以使用“.Contains”轻松地做到这一点,并遍历整个字符数组,从数组中删除某个字符,或者使用“IndexOf”并做同样的事情,但我会想知道是否有办法不从 char 数组中删除任何项目。
【问题讨论】:
-
您的意思是
c在 char 数组中不止一次存在并且应该失败吗? vs 你在这里写的How would one go about checking those two values against each other but also account that 'c' exists only once in the char array and therefore it should fail. -
@MethodMan 是的,我认为我的解释会有点令人困惑,因为我不擅长解释事情。基本上,您有一个字符池(在本例中是一个 char 数组)和一个字符串。我希望能够检查是否可以从池中存在的字符构建字符串,这通过检查 .IndexOf 和 .Contains 之类的内容很简单,但这些不考虑重复的字母。
-
如果您知道 linq,您可以检查字符串中的重复项。如果您知道 linq,您还可以检查字符串是否包含重复项并返回计数或值以及字符串是否包含数组或字符..
-
@ChristianC 有很多优秀的在线教程,MSDN 提供了各种示例的免费下载,您可以逐步浏览并使用调试器MSDN 101 LINQ Samples in C#
标签: c# .net arrays char contains