gpt4 book ai didi

c# - 订购只读列表

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

我有一个只读列表,因此我可以对其他类隐藏 Add 方法,如下所示:

class Foo
{
private readonly List<Bar> _Bars = new List<Bar>;
public()
{
this.Bars = _Bars.AsReadOnly();
}
public ReadOnlyCollection<Bar> Bars
{
get;
private set;
}
public void AddBar(Vector Dimensions)
{
_Bars.Add(new Bar(Dimensions));
}
}

问题是,现在我想订购 Foo 实例的 _Bars 字段,如下所示:
public void OrderBarsByVolume()
{
_Bars.OrderByDescending(o => o.Volume); //Doesn't do anything
_Bars = _Bars.OrderByDescending(o => o.Volume).ToList(); //Error: A readonly field cannot be assigned to
}

是否可以使用 orderby 并保持 List 的添加功能对其他类隐藏?

最佳答案

使用 List<T>.Sort方法

_Bars.Sort((x,y) => x.Volume.CompareTo(y.Volume));

关于c# - 订购只读列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26590863/

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