Làm cách nào để chuyển đổi từ biến số có thể đếm được thành biến int [] trong biến số C#?Chuyển đổi IEnumerable <int> thành int []
12
A
Trả lời
18
Sử dụng phương pháp .ToArray()
phần mở rộng nếu bạn có thể sử dụng System.Linq
Nếu bạn đang ở Net 2 sau đó bạn có thể chỉ rip off như thế nào System.Linq.Enumerable thực hiện các. ToArray
phương pháp khuyến nông (tôi đã dỡ bỏ mã ở đây hầu như nguyên văn - hiện nó cần một Microsoft®?):
struct Buffer<TElement>
{
internal TElement[] items;
internal int count;
internal Buffer(IEnumerable<TElement> source)
{
TElement[] array = null;
int num = 0;
ICollection<TElement> collection = source as ICollection<TElement>;
if (collection != null)
{
num = collection.Count;
if (num > 0)
{
array = new TElement[num];
collection.CopyTo(array, 0);
}
}
else
{
foreach (TElement current in source)
{
if (array == null)
{
array = new TElement[4];
}
else
{
if (array.Length == num)
{
TElement[] array2 = new TElement[checked(num * 2)];
Array.Copy(array, 0, array2, 0, num);
array = array2;
}
}
array[num] = current;
num++;
}
}
this.items = array;
this.count = num;
}
public TElement[] ToArray()
{
if (this.count == 0)
{
return new TElement[0];
}
if (this.items.Length == this.count)
{
return this.items;
}
TElement[] array = new TElement[this.count];
Array.Copy(this.items, 0, array, 0, this.count);
return array;
}
}
Với điều này bạn chỉ có thể làm điều này:
public int[] ToArray(IEnumerable<int> myEnumerable)
{
return new Buffer<int>(myEnumerable).ToArray();
}
3
IEnumerable<int> i = new List<int>{1,2,3};
var arr = i.ToArray();
14
Gọi ToArray
sau khi sử dụng chỉ thị cho LINQ:
using System.Linq;
...
IEnumerable<int> enumerable = ...;
int[] array = enumerable.ToArray();
Điều này yêu cầu .NET 3.5 hoặc cao hơn. Hãy cho chúng tôi biết nếu bạn đang sử dụng .NET 2.0.
1
IEnumerable to int[] - enumerable.Cast<int>().ToArray();
IEnumerable<int> to int[] - enumerable.ToArray();
1
IEnumerable<int> ints = new List<int>();
int[] arrayInts = ints.ToArray();
Miễn là bạn đang sử dụng LINQ :)
Các vấn đề liên quan
- 1. Chuyển đổi thành IEnumerable <dynamic>?
- 2. Chuyển đổi/Truyền IEnumerable thành IEnumerable <T>
- 3. Làm thế nào để bạn chuyển đổi IEnumerable <int> thành Int32
- 4. Làm thế nào để chuyển đổi một IEnumerable <IEnumerable <T>> thành IEnumerable <T>
- 5. C# Không thể chuyển đổi từ IEnumerable <Base> thành IEnumerable <Derived>
- 6. Không thể chuyển đổi Danh sách <KeyValuePair <...,...>> thành IEnumerable <object>?
- 7. Chuyển đổi một IOrderedEnumerable <KeyValuePair <string, int>> thành một điển <string, int>
- 8. Làm thế nào để chuyển đổi System.Linq.Enumerable.WhereListIterator <int> thành Danh sách <int>?
- 9. Không thể chuyển đổi hoàn toàn loại IEnumerable <T> thành IQueryable <T>
- 10. Cách chuyển đổi int * thành int
- 11. Chuyển đổi IEnumerable trong Danh sách <T>
- 12. chuyển đổi int thành wstring
- 13. Chuyển đổi int thành booleans
- 14. Cách tốt nhất để chuyển đổi IEnumerable <char> thành chuỗi?
- 15. Chuyển đổi IEnumerable <T> sang IList
- 16. danh sách <int> chuyển đổi sang int []
- 17. Không thể chuyển đổi hoàn toàn loại 'System.Linq.IQueryable <int>' thành 'int?'
- 18. chuyển đổi danh sách <int> thành danh sách <long>
- 19. C# Danh sách chuyển đổi <int> thành Danh sách <double>
- 20. Chuyển đổi IEnumerable <T> để string []
- 21. chuyển đổi & lt thành <xml document
- 22. Làm cách nào để chuyển đổi IEnumerable <Enum> thành Enum trong C#?
- 23. Tối ưu hóa IEnumerable thành chuyển đổi HashSet trong LINQ
- 24. cách chuyển đổi ascii thành unsigned int
- 25. Haskell Chuyển đổi số nguyên thành Int?
- 26. Python - Chuyển đổi Hex thành INT/CHAR
- 27. Xcode iOS: Chuyển đổi int thành NSString
- 28. Chuyển đổi từ null thành int?
- 29. Đôi không chuyển đổi thành số int
- 30. Chuyển đổi hàng cv :: Mat thành int
sử dụng .ToArray() phương pháp mở rộng. –
Đối với người downvoter (s): với bạn nó có thể là hiển nhiên, nhưng có xứng đáng với một DV? Câu trả lời cho hầu hết các câu hỏi là hiển nhiên đối với ai đó. – spender
@spender - Như trong gamehow Anh Ai muốn trở thành triệu phú? Nó chỉ dễ dàng nếu bạn biết câu trả lời! Nó không phải là một câu hỏi xấu - đó là hoàn toàn hợp lý và 5 câu trả lời nói câu trả lời của nó. Có thể đủ điều kiện cho một dupe mặc dù. –