我有这个CharArray:
char[] letters = "qwertyuiopasdfghjklzxcvbnm123456789".ToCharArray();
我想知道如何从这个数组中获取一个特定的字母。例如,假设我有
int lengthMin = 1;
int lengthMax = 5;
按照上面的代码,我如何从CharArray获得第一,第二,第三,第四和第五个字母?在此先感谢:)
答案 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);