我正在try 这样做:

image.Layers

它为除Parent层之外的所有层返回IEnumerable<Layer>,但在某些情况下,我只想这样做:

image.Layers.With(image.ParentLayer);

因为它只在少数几个地方使用,而通常使用的image.Layers个是image.Layers个.这就是为什么我不想创建另一个也返回Parent层的属性.

推荐答案

一种方法是从项(例如数组)中创建一个单例序列,然后将其添加到原始项上:

image.Layers.Concat(new[] { image.ParentLayer } )

如果你经常这样做,考虑写一个Append(或类似)的扩展方法,比如listed here个,让你这样做:

image.Layers.Append(image.ParentLayer)

.NET Core Update(per the "best" answer below):

现在,AppendPrepend已添加到.NET标准框架,因此您不再需要编写自己的.只需这样做:

image.Layers.Append(image.ParentLayer)

.net相关问答推荐

使用托管身份而不是检测密钥配置Application Insights

CustomControl 计算自己的宽度和高度 - 使用 bounds.Height=0 调用 ArrangeOverride

无法使用 int.Parse 从字符串转换值

在 WPF 窗口中获取当前聚焦的元素/控件

有什么方法可以在不重新编译的情况下覆盖 .NET Windows 服务名称?

C# 编译为 32/64 位,或任何 cpu?

如何在 C# 中仅设置 DateTime 变量的时间部分

双倍的? = 双倍? + 双倍?

System.String.Copy 在 .NET 中有什么用?

Convert.ToBoolean 和 Boolean.Parse 不接受 0 和 1

自定义属性的构造函数何时运行?

Linq to SQL - 返回前 n 行

如何使用 C# 创建自签名证书?

ToLowerInvariant() 有什么问题?

如何使用 Entity Framework Code First CTP 5 存储图像?

List 是否保证项目将按照添加的顺序返回?

String.Join 与 StringBuilder:哪个更快?

例外:不支持 URI 格式

功能说明

App.config:用户与应用程序范围