在我正在做的项目的代码库中,我看到了一个用于相等性判断和枚举之间的范围判断的语法:
public enum DaysOfWeek
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday,
}
public static partial class Extensions
{
public static bool IsWeekDay(this DaysOfWeek value) => value is <= DaysOfWeek.Friday and >= DaysOfWeek.Monday;
}
var isWeekDay = DaysOfWeek.Monday.IsWeekDay();
Console.WriteLine(isWeekDay);
// True
我的意思是语法是不言而喻的,但我不知道C#中存在这种语法,当我试图在Google中搜索时,我没有找到任何信息或任何示例.我甚至试着询问了ChatGPT的免费版本,他的回答是,可能安装了一些扩展来使此行为正常工作,而不会出现任何编译或运行时错误.因此,如果你们中的任何人使用过这个语法,并且知道它是如何作为扩展安装的,或者如果它是从新版本的C#中安装的,我将很乐意学习一些新的东西.