我在github上偶然发现this code:
if (requestHeaders is {})
而且我不明白它到底能做什么。
根据实验,这似乎仅在requestHeaders为null时为假。
这只是写if (requestHeaders != null)
或if (!(requestHeaders is null))
的另一种方式吗?
C#中的模式匹配支持属性模式匹配。例如
if (requestHeaders is HttpRequestHeader {X is 3, Y is var y})
属性模式的语义是它首先测试输入是否为非null。因此它允许您编写:
if (requestHeaders is {})
您应该能够像下面这样。。
Input : str = null // initialize by null value String.IsNullOrEmpty(str) Output: True Input : str = String.Empty // initialize by empty value String.IsNullOrEmpty(str) Output: True
因此,基于True,您可以获得结果。