C# ReadOnlySpan 模式
2023-01-17 10:52 作者:SunnieShine | 我要投稿
ReadOnlySpan<char>
類型的實例將可以使用模式匹配來判斷內(nèi)部存儲的字符串信息。
1、語法
要知道,ReadOnlySpan<T>
類型是一個非常輕量級的存儲集合,它類似于數(shù)組,但數(shù)組是引用類型,該類型是值類型。它可以接收很多類型的實例作為存儲信息,當然,也包含 char
。因此,C# 對這個類型有特殊處理:如果是 ReadOnlySpan<char>
的話,那么可以接收字符串來賦值:
而 C# 11 開始,我們支持該類型使用字符串的模式匹配規(guī)則來匹配該類型的對象。
比如這么使用。
2、null
對于 ReadOnlySpan<char>
的奇怪表現(xiàn)
請一定要注意,ReadOnlySpan<char>
是值類型,但你仍然可以賦個 null
過去:
null
在這里是 char[]?
類型的對象,而對于 ReadOnlySpan<char>
s
對象是值類型,因此你不能對 ReadOnlySpan<char>
類型的實例使用 null
null
的常量模式),編譯器是不知道你這個隱式轉(zhuǎn)換的。這里的 s
是值類型 ReadOnlySpan<char>
類型的變量,而它既然是值類型,就永遠不可能為 null
。因此,is null
將永遠返回 false
標簽: