объединить 2 списка в новый список С #

У меня есть 2 списка, каждый из которых отображает 2 разных списка, которые заполняются пользователем. Мне было интересно, могу ли я как-то объединить данные в каждом списке и показать их в третьем списке. Это приложение windowsForms в Visual Studio. Я также хочу убедиться, что он обновляется правильно, когда новое значение добавляется в 2 разных списка. Пока что я объединил два списка, которые у меня есть:

    public List<String> listAll()
    {
        List<String> all = new List<string>();
        all.AddRange(listFirstName());
        all.AddRange(listSecondName());
        return all;
    }

Проблема с этим, прежде всего, я не знаю, обновится ли это, когда новое значение будет добавлено в два других списка. и, во-вторых, теперь, когда у меня есть этот новый список, я все еще не знаю, как отобразить его в списке. имейте в виду, что мне все еще нужно, чтобы другие списки, содержащие первые 2 списка, отображались в основной форме вместе с этим новым списком, который будет содержать значения для них обоих.

Ура, любая помощь приветствуется и ценится.


person user1743574    schedule 05.12.2012    source источник


Ответы (2)


У вас может быть отдельный метод для заполнения listBox3. в этом методе вы можете очистить существующие элементы и добавить все элементы из listBox1 и listBox3.

когда вы добавляете элементы в listBox1 или listBox2, вы можете вызывать тот же метод после добавления элементов.

listBox3.Items.Clear();
listBox3.Items.AddRange(listAll().ToArray());
person Damith    schedule 05.12.2012
comment
Но где мне разместить этот метод? в главной форме, где находится lstAll (listbox3)? - person user1743574; 05.12.2012

Обычно, если вы хотите убедиться, что ваш Listbox обновляется динамически, используйте ObservableCollection вместо List.

ObservableCollection имеет тот же формат, что и список:

ObservableCollection<String> all = new ObservableCollection<string>();

Убедитесь, что вы добавили следующее

using System.Collections.ObjectModel;
person Prashant Vaidyanathan    schedule 05.12.2012