.NET Color 为 null 的使用

在 .NET 中,Color 对象是不能为 null 的,这跟 DateTime 一样。

要让 Color 为 null ,得使用 Color?

注意:虽然 Color 不可能为 null,但是如果我们将 Color == null 比较,编译器并不会警告。

但是,在使用时,我们是不能直接将 Color? 对象赋给 Color 的,怎样转换呢?

Convert.ToColor()?,哈哈,这是不存在的,这样做:

Color.FromArgb(BackgroundColor?.ToArgb() ?? 0)
  • 由于可为 null,故不能直接 .ToArgb(),要加问号,以获得非 null 时的 Argb 值。

  • 而 ?? 后面就是为 null 时的 Argb 默认值。

你可能感兴趣的