A list item can be replaced by assigning through its index.

indexed update An indexed update changes the item stored at one position.

List Update

replacement
ListUpdate.cs
Replay: real traced execution (multi-file project)
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        string replacement = "gamma";
        List<string> names = new List<string> { "alpha", "beta" };
        names[1] = replacement;
        string joined = string.Join(",", names);

        Console.WriteLine($"replacement={replacement}");
        Console.WriteLine($"joined={joined}");
    }
}
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        string replacement = "delta";
        List<string> names = new List<string> { "alpha", "beta" };
        names[1] = replacement;
        string joined = string.Join(",", names);

        Console.WriteLine($"replacement={replacement}");
        Console.WriteLine($"joined={joined}");
    }
}
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        string replacement = "omega";
        List<string> names = new List<string> { "alpha", "beta" };
        names[1] = replacement;
        string joined = string.Join(",", names);

        Console.WriteLine($"replacement={replacement}");
        Console.WriteLine($"joined={joined}");
    }
}
  1. replacement ← gamma, names[1] ← gamma, joined ← alpha,gamma

    5{6    static void Main()7    {8        string replacement→ gamma = "gamma"; //@replacement="delta", "omega"9        List<string> names = new List<string> { "alpha", "beta" };10        names[1]→ gamma = replacementgamma;11        string joined→ alpha,gamma = string.Join(",", names);1213        Console.WriteLine($"replacement={replacementgamma}");14        Console.WriteLine($"joined={joinedalpha,gamma}");15    }
    outputreplacement=gamma
    joined=alpha,gamma
  1. replacement ← delta, names[1] ← delta, joined ← alpha,delta

    5{6    static void Main()7    {8        string replacement→ delta = "delta";9        List<string> names = new List<string> { "alpha", "beta" };10        names[1]→ delta = replacementdelta;11        string joined→ alpha,delta = string.Join(",", names);1213        Console.WriteLine($"replacement={replacementdelta}");14        Console.WriteLine($"joined={joinedalpha,delta}");15    }
    outputreplacement=delta
    joined=alpha,delta
  1. replacement ← omega, names[1] ← omega, joined ← alpha,omega

    5{6    static void Main()7    {8        string replacement→ omega = "omega";9        List<string> names = new List<string> { "alpha", "beta" };10        names[1]→ omega = replacementomega;11        string joined→ alpha,omega = string.Join(",", names);1213        Console.WriteLine($"replacement={replacementomega}");14        Console.WriteLine($"joined={joinedalpha,omega}");15    }
    outputreplacement=omega
    joined=alpha,omega

Replace One Item

  1. Start with alpha at index 0 and beta at index 1.
  2. replacement is gamma.
  3. names[1] = replacement changes only the second slot.
  4. Joining the list shows the updated order. | Index | Before | After | | --- | --- | --- | | 0 | alpha | alpha | | 1 | beta | gamma |

Exercise: ListUpdate.cs

Replace the second list item with a new value and print the joined list