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);