I have a list of integer:

```
List<int> foo = new List<int>() {1, 2, 3, 4, 5, 6, 7, 8};

```

what i need to slice it based on the parity of the index so:

```
List<int> bar1 = foo.Where((i, v) => v % 2 == 0).ToList();
List<int> bar2 = foo.Where((i, v) => v % 2 == 1).ToList();

```

The issue is that if now i set

```
bar1[0] = -1

```

the original **foo** list remains unchanged.
Is there any work-around in order to change the value of **bar1** and **bar2** while also changing the values of the original **foo** list?