switch类型模式
switch的模式中有一种叫类型模式,可以根据switch的类型来执行对应的case,这点在代码中用到的比较频繁,特别是在对应同类型对象的操作中。本例是把一组数据,转成一种格式,就是很简单的使用switch类型模式实现,具体见代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SwitchDemo; public class ClassOne { public void Run() { var entity = new YamlFormatCreater(); var data = new Data(); Console.WriteLine(GetData(entity, data)); } public string GetDataFormat(IFormatCreater entity, Data data) => entity switch { CSVFormatCreater csvFormatCreater => csvFormatCreater.ToCSV(data), JsonFormatCreater jsonFormatCreater => jsonFormatCreater.ToJson(data), XMLFormatCreater xmlFormatCreater => xmlFormatCreater.ToXML(data), YamlFormatCreater yamlFormatCreater => yamlFormatCreater.ToYAML(data), _ => "this format is not adapted" }; } public class Data { public int ID { get; set; } public string? Name { get; set; } public string? Model { get; set; } } public interface IFormatCreater { } public class CSVFormatCreater : IFormatCreater { public string ToCSV(Data data) { return "To CSV"; } } public class JsonFormatCreater : IFormatCreater { public string ToJson(Data data) { return "To JSON"; } } public class XMLFormatCreater : IFormatCreater { public string ToXML(Data data) { return "To XML"; } } public class YamlFormatCreater : IFormatCreater { public string ToYAML(Data data) { return "To YAML"; } }
想要更快更方便的了解相关知识,可以关注微信公众号

分类:
.net
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下