gpt4 book ai didi

c# - 强制/要求方法的排序列表参数

转载 作者:太空宇宙 更新时间:2023-11-03 18:30:19 30 4
gpt4 key购买 nike

假设已经编写了一个方法,需要一个排序列表作为其输入之一。当然这将在代码中进行注释和记录,param 将被命名为“sortedList”,但如果有人忘记,则会出现错误。

有没有办法强制输入必须排序?我正在考虑创建一个带有列表和 bool 值“已排序”的新对象类,并且传递的对象必须是该对象,然后该方法立即检查“已排序” bool 值是否为真。但我觉得一定有更好/标准的方法。

*这个方法是循环调用的,所以不要在方法里面排序。

最佳答案

假设您只需要迭代此集合,而不执行任何其他操作,您可以接受一个 IOrderedEnumerable,这将要求该序列已按某物。 (请记住,这样做可能意味着它是根据与您预期不同的其他标准进行排序的,因此根据您在内部使用的标准,数据仍有可能没有排序。)

您拥有的另一个选择是在收到数据后简单地对数据进行排序,而不是要求调用者对数据进行排序。请注意,对于大多数常见的排序算法,对已排序的数据集进行排序是其最佳情况速度(通常为 O(n) 而不是 O(n*log(n))),因此即使数据集有时已经排序,有时还没有它不一定很糟糕,只要您没有庞大的数据集。

关于c# - 强制/要求方法的排序列表参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23573699/

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