2012-01-23 51 views
11

Vì vậy, thay vì viết một hàm lặp nơi bạn khởi tạo một mảng và sau đó đặt từng giá trị chỉ mục làm chỉ mục, có cách nào để thực hiện điều này trong LINQ không?LINQ để tạo mảng int của các số liên tiếp

+0

có thể trùng lặp của [Làm thế nào để tạo mảng với dãy số nguyên trong C#?] (http://stackoverflow.com/questions/4588787/how-to-create-array-with-sequence-of-integers-in-c) –

Trả lời

13

Enumerable.Range(0, 10) sẽ cung cấp cho bạn một IEnumerable<int> chứa số không đến 9.

+0

Thực ra là sẽ là "0 đến 9". Tham số thứ hai là số đếm. – Buzz

+0

Lưu ý. Cảm ơn @Buzz – Digbyswift

16

Bạn có thể sử dụng phương thức System.Linq.Enumerable.Range cho mục đích này.

Tạo chuỗi các số nguyên trong phạm vi được chỉ định.

Ví dụ:

var zeroToNineArray = Enumerable.Range(0, 10).ToArray(); 

sẽ tạo ra một mảng các số nguyên liên tiếp với giá trị trong phạm vi bao gồm [0, 9].

4

Bạn có thể muốn nhìn vào Enumberable.Range

For Each(var i in Enumberable.Range(1,5).ToArray()){ 
    Console.WriteLine(i) 
} 

sẽ in ra 1,2,3,4,5

Các vấn đề liên quan