gpt4 book ai didi

C# 相当于 Julia 的 map!() 方法

转载 作者:行者123 更新时间:2023-12-03 16:48:24 28 4
gpt4 key购买 nike

我试图找到 C# 的等效于 Julia 的 map!() 方法,这是 void返回类型并采用函数、目标和函数作用于的集合。
我能找到的最好的东西是 C# 的 Enumerable.Select() ,它将函数作为第三个参数,将集合作为第一个参数。但是,它返回一个新集合,而不是修改“目标”中的集合。这类似于 Julia 的 map() 更多的。

最佳答案

没有像这样的标准,但您可以轻松地将您自己的扩展方法添加到 IEnumerable添加此功能。例如:

public static void JuliaMap<TFrom, TTo>
(
this IEnumerable<TFrom> source,
IList<TTo> target,
Func<TFrom, TTo> selector
)
{
var next = 0;
foreach(var value in source)
{
var convertedValue = selector(value);
target[next] = convertedValue;
next++;
}
}
你可以怎么说:
var numbers = new[]{1, 2, 3};
var target = new string[3];

numbers.JuliaMap(target, i => (i * 2).ToString());
注意:我省略了任何错误处理。例如,您需要确保目标列表足够长以获取插入的值。

关于C# 相当于 Julia 的 map!() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62953386/

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