Có cách nào để thực hiện điều này mà không cần lặp qua Danh sách và thêm các mục vào ObservableCollection không?Làm cách nào để chuyển đổi một danh sách (của T) thành một ObservableCollection (Of T) trong VB.NET?
Làm cách nào để chuyển đổi một danh sách (của T) thành một ObservableCollection (Of T) trong VB.NET?
Trả lời
Không, không có cách nào để chuyển đổi trực tiếp danh sách thành bộ sưu tập có thể quan sát được. Bạn phải thêm từng mục vào bộ sưu tập. Tuy nhiên, bên dưới là lối tắt để cho phép khung liệt kê các giá trị và thêm chúng cho bạn.
Dim list as new List(of string)
...some stuff to fill the list...
Dim observable as new ObservableCollection(of string)(list)
tôi đến trễ nhưng tôi muốn chia sẻ phần thú vị này để chuyển đổi một danh sách vào một ObservableCollection nếu bạn cần một vòng lặp:
public static ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> coll)
{
var c = new ObservableCollection<T>();
foreach (var e in coll) c.Add(e);
return c;
}
Bạn có thể vượt qua một bộ sưu tập để các nhà xây dựng ObservableCollection:
List<Product> myProds = ......
ObservableCollection<Product> oc = new ObservableCollection<Product>(myProds);
Bây giờ bạn phải dịch này để VB.NET :)
để làm rõ những gì Junior đang nói (với một ví dụ thêm nếu bạn đang sử dụng LINQ trả về một IEnumerable):
//Applications is an Observable Collection of Application in this example
List<Application> filteredApplications =
(Applications.Where(i => i.someBooleanDetail)).ToList();
Applications = new ObservableCollection<Application>(filteredApplications);
//Create an observable collection TObservable.
ObservableCollection (TObservable) =new ObservableCollection (TObservable)();
//Convert List items(OldListItems) to collection
OldListItems.ForEach(x => TObservable.Add(x));
ObservableCollection<yourobjectname> result = new ObservableCollection<yourobjectname>(yourobjectlist);
vui lòng đặt ở đây mô tả câu trả lời của bạn. –
Mặc dù tôi đang muộn, tôi muốn chia sẻ một nâng cao nhanh chóng để Junior Câu trả lời: cho phép nhà phát triển xác định chức năng chuyển đổi được sử dụng để chuyển đổi các đối tượng sưu tập quan sát từ bộ sưu tập nguồn sang đích.
Giống như sau:
public static ObservableCollection<TDest> ToObservableCollection<TDest, TSource>(this IEnumerable<TSource> coll, Func<TSource, TDest> converter)
{
var c = new ObservableCollection<TDest>();
foreach (var e in coll)
{
c.Add(converter(e));
}
return c;
}
- 1. Làm thế nào để điền vào một DataTable với một danh sách (Of t) hoặc chuyển đổi một danh sách (Of t) thành một DataTable?
- 2. ObservableCollection (Of T) vs BindingList (của T)?
- 3. Chuyển đổi Danh sách <T> thành một ObservableCollection <T>
- 4. Làm cách nào để chuyển đổi danh sách thành ObservableCollection?
- 5. Làm thế nào để chuyển đổi một IQueryable <T> thành một Danh sách <T>?
- 6. Làm thế nào để đúc một Danh sách <T> đến một ObservableCollection <T> trong wpf?
- 7. Giới hạn kích thước của Danh sách (của T) - VB.NET
- 8. Cách chuyển đổi EntityCollection <T> thành Danh sách <T>
- 9. Làm cách nào tôi có thể chuyển đổi IEnumerable <T> thành Danh sách <T> trong C#?
- 10. Làm cách nào để chuyển đổi Danh sách <T> thành Tập dữ liệu?
- 11. Cách nhanh nhất để chuyển đổi T [,] thành T [] []?
- 12. Chuyển đổi IEnumerable trong Danh sách <T>
- 13. Làm thế nào để chuyển đổi một int thành một chuỗi không đệm trong T-SQL?
- 14. Làm cách nào tôi có thể chuyển đổi một DBQuery <T> thành một ObjectQuery <T>?
- 15. Khi một mảng-T đã phân rã thành một con trỏ tới T, nó có thể được tạo thành mảng-of-T một lần nữa không?
- 16. Chuyển đổi từ Danh sách <T> để mảng T []
- 17. C# - var vào Danh sách <T> chuyển đổi
- 18. Tự do chuyển đổi giữa Danh sách <T> và IEnumerable <T>
- 19. Làm cách nào để chuyển đổi một IList không chung thành IList <T>?
- 20. Chuyển đổi Seq [Tùy chọn [T]] thành Seq [T]
- 21. C# ListBox ObservableCollection <T>
- 22. Làm thế nào để chuyển đổi một IEnumerable <IEnumerable <T>> thành IEnumerable <T>
- 23. Chuyển đổi mảng thành HashSet <T> trong .NET
- 24. Làm cách nào để tìm một phần tử cụ thể trong Danh sách <T>?
- 25. Làm cách nào để tạo Danh sách <T> từ một SortedList <int, T>?
- 26. Cách thêm T vào Danh sách <T> trong đó Danh sách <T> giả mạo là 'động' và T là 'đối tượng'?
- 27. Tại sao không BindingList (Of T) có thành viên AddRange?
- 28. t-sql: chuyển đổi varchar thành xml
- 29. Whats điểm của tuple (Of T)
- 30. Chuyển đổi Data.Sequence thành một danh sách?
Xem câu hỏi liên quan: http://stackoverflow.com/questions/731626/ilistt-to-observablecollectiont – gideon