从CharArray抓取特定的字符

时间:2016-05-18 21:28:57

标签: c#

我有这个CharArray:

char[] letters = "qwertyuiopasdfghjklzxcvbnm123456789".ToCharArray();

我想知道如何从这个数组中获取一个特定的字母。例如,假设我有

int lengthMin = 1;
int lengthMax = 5;

按照上面的代码,我如何从CharArray获得第一,第二,第三,第四和第五个字母?在此先感谢:)

4 个答案:

答案 0 :(得分:2)

像这样:

var specificLetters = letters
    .Skip(lengthMin - 1)
    .Take(lengthMax - lengthMin + 1)
    .ToArray();

而且,与@ ecanmcdonnal的解决方案不同,只要它们不是负面的,您就不必担心范围。

答案 1 :(得分:1)

您可以使用for循环,其中lengthmax作为上限,length min作为下限。您还应该进行一些检查,以确保lengthmin为> = 0且lengthmax为< = letters.length。为了简洁的例子,我在这里排除了它。

List<char> chars = new List<char>();

for (int i = lengthMin; i < lengthMax; i++)
{
    chars.Add(letters[i]);
}

答案 2 :(得分:0)

我会使用数组复制

var target = new char[lengthMax - lengthMin + 1];
Array.Copy(letters , lengthMin  , target , 0, lengthMax );

答案 3 :(得分:0)

这是一个1班轮:

var result = letters.Take(--lengthMax)
                    .Skip(--lengthMin);