I have an input file that includes data on an entertainer and their performance score. For example, 

```
1. Bill Monohan from North Town 10.54
2. Mary Greenberg from Ohio 3.87
3. Sean Hollen from Markell 7.22

```

I want to be able to take the last number from a line (their score), perform some math on it, and then replace the old score with the new score.
Here's a brief piece of code for what I'm trying to do:

```
string line;
StreamReader reader = new StreamReader(@"file.txt");

//Read each line and split by spaces into a List.
while ((line = reader.ReadLine())!= null){

//Find last item in List and convert to a Double in order to perform calculations.
   List<string> l = new List<string>();
   l = line.Split(null).ToList();
   string lastItem = line.Split(null).Last();
   Double newItem = Convert.ToDouble(lastItem);

   /*Do some math*/
   /*Replace lastItem with newItem*/
   System.Console.WriteLine(line); }

```

When I write the new line, nothing changes but I want lastItem to be switched with newItem at the end of the line now. I've tried using:

```
l[l.Length - 1] = newItem.ToString();

```

But I'm getting no luck. I just need the best way to replace the last value of a string List like this. I've been going at this for a few hours now and I'm almost at the end of my rope.
Please help me c# masters!