C# 从CharArray获取特定字符

C# 从CharArray获取特定字符,c#,C#,我有一个特点: char[] letters = "qwertyuiopasdfghjklzxcvbnm123456789".ToCharArray(); 我想知道如何从这个数组中获取特定的字母。例如,假设我有 int lengthMin = 1; int lengthMax = 5; 按照上面的代码,我如何从CharArray中获取第一、第二、第三、第四和第五个字母?提前感谢:)您可以使用一个for循环,以lengthmax作为上限,lengthmin作为下限。不过,您还应该进行一些检查,

我有一个特点:

char[] letters = "qwertyuiopasdfghjklzxcvbnm123456789".ToCharArray();
我想知道如何从这个数组中获取特定的字母。例如,假设我有

int lengthMin = 1;
int lengthMax = 5;

按照上面的代码,我如何从CharArray中获取第一、第二、第三、第四和第五个字母?提前感谢:)

您可以使用一个for循环,以lengthmax作为上限,lengthmin作为下限。不过,您还应该进行一些检查,以确保lengthmin>=0,lengthmax如下所示:

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

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

我会使用数组复制

var target = new char[lengthMax - lengthMin + 1];
Array.Copy(letters , lengthMin  , target , 0, lengthMax );
这是一条1号班轮:

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

“第一、第二、第四和第五”第三个呢?@Xiaoy312呜呜,修正了:P
Array.Copy
需要一个0索引的
sourceIndex
,而
lengthMin
不是。
var result = letters.Take(--lengthMax)
                    .Skip(--lengthMin);