您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。
- 内容介绍
- 文章标签
- 相关推荐
本文共计642个文字,预计阅读时间需要3分钟。
当然可以,请您提供需要改写的原文,我会根据您的要求进行修改。
C# 8.0中的模式匹配相对C# 7.0来说有了进一步的增强,对于如下类:
class Point { public int X { get; } public int Y { get; } public Point(int x, int y) => (X, Y) = (x, y); public void Deconstruct(out int x, out int y) => (x, y) = (X, Y); }
首先来看C# 7.0中一个经典的模式匹配示例:
static string Display(object o) { switch (o) { case Point p when p.X == 0 && p.Y == 0: return "origin"; case Point p: return $"({p.X}, {p.Y})"; default: return "unknown"; } }
在C# 8.0中,它有更加精简的写法。
本文共计642个文字,预计阅读时间需要3分钟。
当然可以,请您提供需要改写的原文,我会根据您的要求进行修改。
C# 8.0中的模式匹配相对C# 7.0来说有了进一步的增强,对于如下类:
class Point { public int X { get; } public int Y { get; } public Point(int x, int y) => (X, Y) = (x, y); public void Deconstruct(out int x, out int y) => (x, y) = (X, Y); }
首先来看C# 7.0中一个经典的模式匹配示例:
static string Display(object o) { switch (o) { case Point p when p.X == 0 && p.Y == 0: return "origin"; case Point p: return $"({p.X}, {p.Y})"; default: return "unknown"; } }
在C# 8.0中,它有更加精简的写法。

