gpt4 book ai didi

c# - 命名元组定义中的自定义名称成为默认名称 "Item1"和 "Item2"

转载 作者:行者123 更新时间:2023-11-30 18:11:37 26 4
gpt4 key购买 nike

我正在创建一个命名元组列表。我使用 add 方法提出这个列表,但在这个过程之后,我意识到元组的成员已经失去了他们的自定义名称,只能通过“Item1”,“Item2”......访问

我正在使用 .NET 框架版本 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。

最佳答案

元组值名称等同于方法变量。它们仅在声明时有效。

使用您的 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

关于c# - 命名元组定义中的自定义名称成为默认名称 "Item1"和 "Item2",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57395473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com