我想得到一个序列的整数从值A到值B 。
例如A=3
和B=9
。现在我想用一行代码创建一个序列3,4,5,6,7,8,9
而没有循环。我玩Enumerable.Range
,但我找不到有效的解决方案。
有人有想法吗?
答案 0 :(得分:21)
var sequence = Enumerable.Range(min, max - min + 1);
但是,对于信息 - 我个人仍然想要使用循环:
for(int i = min; i <= max ; i++) { // note inclusive of both min and max
// good old-fashioned honest loops; they still work! who knew!
}
答案 1 :(得分:16)
int A = 3;
int B = 9;
var seq = Enumerable.Range(A, B - A + 1);
Console.WriteLine(string.Join(", ", seq)); //prints 3, 4, 5, 6, 7, 8, 9
如果你有很多很多的数字,并且它们的处理性质是流媒体(你一次处理一个项目),那么你不需要通过数组保存所有的内存,并且它很适合使用他们通过IEnumerable<T>
界面。