元组(tuple-type)类型的使用 ,修改值的注意点 C# 8 返回
C#论坛
老数据
2167
悬赏:0 飞吻
在c# 8.0中,我可以通过访问字段名直接修改元组中的值:
//修改集合中元素无效
var list = new List<(string name, int score)>();
list.Add(("Tom", 100));
var copy = list[0];
copy.name = "Jack";
Console.WriteLine(copy.name); // Jack
Console.WriteLine(list[0].name); // still Tom
//修改集合中元素有效
var list = new List<(string name, int score)>();
list.Add(("Tom", 100));
var copy = list[0];
copy.name = "Jack";
list[0] = copy; // put it back
Console.WriteLine(copy.name); // Jack
Console.WriteLine(list[0].name); // Jack
//读取一切正常
var arr = new (string name, int score) [] { ( "Tom", 10 ) };
arr[0].name = "Jack";
Console.WriteLine(arr[0].name); // Jack