gpt4 book ai didi

c# - 使用 的内联定义初始化 List

转载 作者:太空狗 更新时间:2023-10-29 22:04:07 26 4
gpt4 key购买 nike

你总是可以像这样定义一个类:

public class item {
int id;
string name;
}

然后像这样使用它:

List<item> items = new List<item>();

我们能不能不做这样的事情:

var items = new List<{int id, string name}>();

当底层对象定义简单且可预测时,这只是一种简短的初始化方式。

这在 JavaScript 中是可能的(我在 Angular 中看到过示例)。

很抱歉,如果之前有人回答过这个问题,我的快速搜索无法在 Google 或 SO 上找到该特定主题的答案。

最佳答案

C# 7 引入了 tuples ,所以你可以这样做:

var list = new List<(int id, string name)>();
list.Add((3, "Bob"));

var (id, name) = list[0];

var entry = list[0];
string s = $"{entry.name} has ID {entry.id}";

foreach (var (id, name) in list)
{

}

在 C# 7 之前,您可以使用旧的 Tuple 类型,这有点困惑:

var list = new List<Tuple<int, string>>();
list.Add(Tuple.Create(3, "Bob"));

foreach (var item in list)
{
int id = item.Item1;
string name = item.Item2;
}

关于c# - 使用 <T> 的内联定义初始化 List<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54826954/

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