Collections
List Update
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
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}");
}
}
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
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
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
- Start with
alphaat index0andbetaat index1. replacementisgamma.names[1] = replacementchanges only the second slot.- 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