元组(tuple-type)类型的使用 ,修改值的注意点 C# 8 返回

C#论坛 老数据
2167
该叫什么 小杰 发布于2021/4/8
悬赏: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



热忱回答0