gpt4 book ai didi

c# - List.FindAll 的结果是否保证与原始列表的顺序相同?

转载 作者:太空狗 更新时间:2023-10-29 21:00:11 27 4
gpt4 key购买 nike

如果我有一个包含以下条目的列表:

苹果香蕉葡萄樱桃橙子猕猴桃

的结果
fruit.FindAll(f => f.Length == 6)

保证永远是

香蕉樱桃橙色

或者顺序可以不同吗?

最佳答案

从某种意义上说,它并没有在文档中说明,但如果你看看它是如何当前实现的,那么是的,它总是会以相同的顺序返回.

这是目前的实现方式:

public List<T> FindAll(Predicate<T> match)
{
if (match == null)
{
ThrowHelper.ThrowArgumentNullException(ExceptionArgument.match);
}
List<T> list = new List<T>();
for (int i = 0; i < this._size; i++)
{
if (match(this._items[i]))
{
list.Add(this._items[i]);
}
}
return list;
}

如您所见,这是一个简单的 for 循环,它按顺序遍历列表,并添加匹配的项目。

关于c# - List<T>.FindAll 的结果是否保证与原始列表的顺序相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2327760/

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