只有当 switch 表达式找到类似这样的内容时,我才想添加到列表中:
List<drivedType> derivedObjects = new()
derivedObjects.Add(baseObject switch
{
derivedType d when d.field != 1 => d,
_ => // Here I would put somthing like "continue" but it's not accepted
});
任何类似的可能吗?
最佳答案
尚不清楚这段代码试图做什么。它可能是尝试按类型过滤对象列表的代码片段。它可能是尝试根据类型插入单个对象。或者完全不同的东西。
如果打算按类型过滤对象列表,可以使用 LINQ 来过滤并创建最终列表:
var derivedObjects= baseObjects.OfType<DerivedObject>()
.Where(d=>d.Field !=1)
.ToList();
如果打算插入单个对象:
if(baseObject is DerivedType d && d.Field !=1)
{
derivedObjects.Add(d);
}
https://stackoverflow.com/questions/65585621/