Существует ли способ преобразовать заметный набор в регулярный набор?

У меня есть тестовая установка набора как:

ObservableCollection<Person> MyselectedPeople = new ObservableCollection<Person>();

public MainWindow()
    {
       InitializeComponent();
       FillData();
    }

public void FillData()
    {
        Person p1 = new Person();
        p1.NameFirst = "John";
        p1.NameLast = "Doe";
        p1.Address = "123 Main Street";
        p1.City = "Wilmington";
        p1.DOBTimeStamp = DateTime.Parse("04/12/1968").Date;
        p1.EyeColor = "Blue";
        p1.Height = "601";
        p1.HairColor = "BRN";

        MyselectedPeople.Add(p1);
    }

После того как мне создали этот набор, я хотел бы смочь преобразовать Заметный Набор в список типов.

Причиной позади этого является мой основной проект, получает универсальный список с данными, я должен преобразовать его в Заметный набор для использования в gridview, поля списков и т.д. Данные выбраны в UI и затем переданы обратно инициирующему блоку для дальнейшего использования.

7
задан abatishchev 22 May 2016 в 18:05
поделиться

5 ответов

Я думаю, что самый быстрый способ сделать это - использовать LINQ.

 List<Person> personList= MySelectedPeople.ToList(); 

Ура.

10
ответ дан 6 December 2019 в 05:54
поделиться

Попробуйте следующее.

var list = MyselectedPeople.ToList();

Убедитесь, что у вас есть System.Linq в качестве одного из операторов using.

8
ответ дан 6 December 2019 в 05:54
поделиться

Это должно сработать ...

List<Person> myList = MyselectedPeople.ToList<Person>();
6
ответ дан 6 December 2019 в 05:54
поделиться

Я просто хочу отметить, что, помимо очевидного метода расширения Linq, у List всегда была перегрузка, которая принимает IEnumerable

return new List<Person>(MyselectedPeople);
5
ответ дан 6 December 2019 в 05:54
поделиться

Странно, что ваша внутренняя сборка закодирована так, чтобы принимать только List . Это очень ограничительно и мешает вам делать полезные вещи, такие как передача массива или ObservableCollection , или Collection , или ReadOnlyCollection , или свойств ключей или значений Dictionary , или любого из множества других подобных списков вещей.

Если возможно, измените внутреннюю сборку, чтобы она принимала IList . Затем вы можете просто передать свою ObservableCollection как есть, без необходимости копировать ее содержимое в List .

2
ответ дан 6 December 2019 в 05:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: