I don't know c#, but I imagine the general procedure would be:
1)Convert the old and new lists of numbers from one long string into tokens. There are probably library functions for this.
2)Convert those tokens into integers. I'm sure there's some type of container like a vector in c#, so use that to store the tokens in.
3)Sort the containers
for your example you would have something like this right now:
oldNumbers newNumbers 100 100 123 123 354 200 555 234 999
4)Create two indices, one for each container
5)Create two new containers to store the added and removed data. You can probably just go directly from integers to strings here
6)Compare the values from above for each case:
a)if both numbers are equal, incrememnt both indices
b)if oldNumbers > newNumbers add the number from newNumbers into the 'added numbers' container. Then increment the index for newNumbers
c)if oldNumbers < newNumbers add the number from oldNumbers into the 'removed numbers' container. Then increment the index for oldNumbers
d)if one container is empty, just output the non-empty container into the appropriate add or remove container
I think that will do it. Hopefully I didn't leave out any steps.
EDIT: case D is important too!