/// <summary>
/// C#8新语法
/// </summary>
/// <param name="week"></param>
/// <returns></returns>
public static string WeekToString(WeekInfo week) => week switch
{
WeekInfo.Monday => "周一",
WeekInfo.Tuesday => "周二",
WeekInfo.Wednesday => "周三",
WeekInfo.Thursday => "周四",
WeekInfo.Friday => "周五",
WeekInfo.Saturday => "周六",
WeekInfo.Sunday => "周七",
_ => throw new NotImplementedException("枚举不存在"),
};
/// <summary>
///switch 经典switch
/// </summary>
/// <param name="week"></param>
/// <returns></returns>
public static string WeekToStringSwitch(WeekInfo week)
{
switch (week)
{
case WeekInfo.Monday:
return "周一";
case WeekInfo.Tuesday:
return "周二";
case WeekInfo.Wednesday:
return "周三";
case WeekInfo.Thursday:
return "周四";
case WeekInfo.Friday:
return "周五";
case WeekInfo.Saturday:
return "周六";
case WeekInfo.Sunday:
return "周七";
default:
throw new NotImplementedException("枚举不存在");
}
}
/// <summary>
///switch 属性模式
/// </summary>
/// <param name="pattern"></param>
/// <returns></returns>
public static double PropertyPatternShow(PropertyPattern pattern) => pattern
switch
{
{ ProductName: "朝夕架构班" } => pattern.Price * 0.5,
{ Price: 234 } => pattern.Price * 0.5,
_ => throw new NotImplementedException(),
};
/// <summary>
/// switch 元组模式
/// </summary>
/// <param name="first"></param>
/// <param name="second"></param>
/// <returns></returns>
public static string RockPaperScissors(string first, string second)
=> (first, second) switch
{
("444", "教育1") => $"{first}-{second}",
("444", "教育2") => $"{first}-{second}",
("444", "教育3") => $"{first}-{second}",
(_, _) => "不匹配"
};