Ok so it is a little hard to understand exactly what you want to do but if I understand correctly you have a ListView and a List<T> (probably a List<string>)??
Well if so you probably want to do something like this:
List<string> myList = new List<string>();
myList.Add(listView1.Items[0].Text);
myList.Add(listView1.Items[1].Text);
ListViewItem[] removable = new ListViewItem[listView1.SelectedItems.Count];
listView1.SelectedItems.CopyTo(removable, 0);
int[] selectedIndices = new int[listView1.SelectedIndices.Count];
listView1.SelectedIndices.CopyTo(selectedIndices, 0);
string[] selected = new string[selectedIndices.Length];
for (int i = 0; i < removable.Length; i++)
{
listView1.Items.Remove(removable[i]);
selected[i] = myList[selectedIndices[i]];
}
for (int i = 0; i < selected.Length; i++)
{
myList.Remove(selected[i]);
}
would also work if List<T> was something else say List<ListViewItem>
Note: There is probably more elegant solutions to this (I know I have come up with some myself before) but right not I can not think of any. This will hopefully at least get you started.
If this is not what you are trying to do at all maybe you could explain a little more about what it is exactly you are trying to do.