我正在创建一个命名元组列表。我使用add方法对列表进行了推测,但是在此过程之后,我意识到元组的成员已经丢失了只能通过“ Item1”,“ Item2” ...
访问的自定义名称。我正在使用.NET Framework 4.6.2,C#7.3
private static List<(string name, string url)> GetItemsNamesAndUrls(IEnumerable<MyItems> itemsList)
{
List<(string name, string url)> result = new List<(string name, string url)>();
foreach (var item in itemsList)
{
result.Add((name: item.Name, url: GetItemUrlFromName(item.Name)));
}
return result;
}
MyItem类非常简单:
class MyItems
{
public string Name { get; set; }
}
在填充结果列表之后,我希望能够通过自定义名称访问命名元组成员,而不使用Item1和Item2。
答案 0 :(得分:0)
元组值名称等于方法变量。它们仅在声明的地方有效。
使用您的GetItemsNamesAndUrls
方法,这是有效的代码:
var l = GetItemsNamesAndUrls(itemsList);
var t1 = l[0];
var n = t1.name;
var u = t1.url;
(string x, string y) t2 = t1;
var x = t2.x;
var y = t2.y;
var (a, b) = t1;
var c = t1 == t2; // true