news 2026/5/5 11:11:37

扩展方法#x2B;泛型#x2B;委托#x2B;Lambda 联合使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
扩展方法#x2B;泛型#x2B;委托#x2B;Lambda 联合使用

笔记:SetDefaultValue方法拆解(扩展方法+泛型+委托+Lambda)

  1. 核心功能
    为Entity对象安全取值:指定字段名,有值则用委托转换后返回,无值/转换失败则返回默认值。

  2. 白话拆解(以取Name为例)
    原始冗余写法:
    string name;
    if (userEntity != null && userEntity.IsNotNull("Name"))
    {
    try { name = userEntity["Name"].ToString(); }
    catch { name = "未知"; }
    }
    else

封装后写法:
string name = userEntity.SetDefaultValue("Name", "未知", val => val.ToString());

  1. 关键语法拆解
  • 扩展方法:this Entity en → 静态类+this参数,可直接用实例调用;
  • 泛型:调用时自动推导类型(默认值"未知"→T=string,默认值0→T=int);
  • 委托Func<object, T>:
    ✅ Func<object, T> action → 委托容器(要求:装“接收object、返回T”的方法);
    ✅ val => val.ToString() → 匿名方法(Lambda简化写法,等价于 { return val.ToString(); });
    ✅ action(en[name]) → 调用委托(传入en[name](object)执行匿名方法,返回T);
  1. 实际开发优化点(必加)
    ① 加en == null判断,避免空引用;
    ② 加try-catch,处理转换失败(比如Age是"abc"转int);

本人是一枚还没毕业的实习生,目前在一家企业实习。今天看到代码中同事写的一些封装方法,在自学过程中都有接触过,但是联合起来使用看起来却很吃力,我就想记录一下自己的成长过程,路过的大佬还望多多担待~
笔记是ai美化后的,也是想通过学习一遍,再写点笔记加点自己的想法的,但是发现还是比较冗余。谢谢大家,阿里嘎多!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/4 18:58:25

文本补全软件 espanso 配置某个应用单独使用某个补全

espanso 官网&#xff1a;https://espanso.org/ &#xff08;1&#xff09; config是配置文件目录 match是放补全规则的地方 &#xff08;2&#xff09; 先在match文件夹建补全规则 注意文件名以下划线开头&#xff0c;代表这个文件默认不生效 matches:- trigger: "s…

作者头像 李华
网站建设 2026/5/5 0:25:04

基于AI的政府审计监管系统对比:哪家更值得信赖?

基于AI的政府审计监管系统对比&#xff1a;哪家更值得信赖&#xff1f;在数字化转型的浪潮中&#xff0c;政府审计监管系统正逐渐引入人工智能技术&#xff0c;以提升审计效率和准确性。本文将对市场上主流的基于AI的政府审计监管系统进行对比分析&#xff0c;帮助读者了解各家…

作者头像 李华
网站建设 2026/5/2 13:26:46

Java+AI 核心指南:大模型丝滑接入与多模型统一范式

在人工智能技术深入企业业务的当下&#xff0c;Java作为企业级应用开发的主流技术栈&#xff0c;如何高效集成AI能力、实现业务系统智能化升级&#xff0c;成为众多技术团队面临的核心课题。不同于Python在AI算法研发领域的优势&#xff0c;Java技术栈的核心价值在于稳定的工程…

作者头像 李华
网站建设 2026/5/4 18:45:57

面试常见问题之剖析哈希表

一、时间复杂度基础- 时间复杂度是衡量算法效率的指标&#xff0c;用大O表示法&#xff08;如O(1)、O(n)、O(n^2)&#xff09;。数值越小&#xff0c;算法效率越高。 - O(1)&#xff1a;无循环的简单操作&#xff0c;如赋值、基本运算、数组下标访问。 - O(n)&#xff1a;单层循…

作者头像 李华
网站建设 2026/5/4 4:42:46

码农常见问题之如何证明自己写的算法是对的

很多初学者不知道如何证明自己写的算法是正确的&#xff0c;通常只能通过提交代码看是否“AC”&#xff08;Accepted&#xff0c;即通过所有测试用例&#xff09;来判断。核心方法&#xff08;四步验证法&#xff09;以“在含10万个元素的数组中&#xff0c;找两数之和等于1024…

作者头像 李华