gpt4 book ai didi

C# for 或 foreach 从 List 创建数组

转载 作者:太空宇宙 更新时间:2023-11-03 21:00:44 25 4
gpt4 key购买 nike

遍历列表、对每个元素执行操作并从这些项目创建数组的最优雅方法是什么?

这两种解决方案都可以达到目的,但是使用其中一种方案有优缺点还是有更优雅的方式在 C# 中实现此目的?

示例 1:

public void SomeFunc(List<Person> lst)
{
PersonPrivate[] arr = new PersonPrivate[lst.Count];
int idx = 0;
lst.ForEach(x =>
{
PersonPrivate p = new PersonPrivate(convert(p.name), convert(p.lastname));
arr[idx] = p;
idx++;
}

SavePerson(arr);
}

示例 2:

public void SomeFunc(List<Person> lst)
{
PersonPrivate[] arr = new PersonPrivate[lst.Count];
for (int i = 0; i < lst.Count; i++)
{
PersonPrivate p = new PersonPrivate(convert(p.name), convert(p.lastname));
arr[i] = p;
}

SavePerson(arr);
}

编辑:我不认为这个问题与标记为重复的问题完全相同。虽然那个也提供了有用的信息,但比较不是 for 和 foreach 之间的比较,也不特定于从列表创建数组。

最佳答案

只需使用选择

var arr = list
.Select(p => new PersonPrivate(convert(p.name), convert(p.lastname)))
.ToArray();
SavePerson(arr);

关于C# for 或 foreach 从 List 创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45799567/

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