gpt4 book ai didi

c# - 在作为数组的 ICollection 上调用 .toArray() 是否返回引用或副本?

转载 作者:行者123 更新时间:2023-11-30 20:33:04 25 4
gpt4 key购买 nike

<分区>

我正在研究一些扩展方法,需要将输入集合转换为数组。我想节省内存,所以我只想在绝对必要时创建输入的副本。

我必须做:

 public static ICollection<TSource> ExtMethod<TSource>(this ICollection<TSource> source, Func<TSource, int> predicate)
{
TSource[] converted;
if (source is TSource[])
{
converted = source as TSource[];
}
else {
converted = source.ToArray();
}

}

或者 toArray 是否在幕后进行检查,如果我这样做,我会得到完全相同的效果:

  public static ICollection<TSource> ExtMethod<TSource>(this ICollection<TSource> source, Func<TSource, int> predicate)
{
TSource[] converted = source.ToArray();
}

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