首页 > 编程语言 >c#委托 ,自定义函数中使用委托

c#委托 ,自定义函数中使用委托

时间:2024-12-11 21:10:57浏览次数:3  
标签:Console 委托 自定义 c# Func item WriteLine

  Func<int, int, int> t = (  j, i ) =>  i + j;//自定义委托 Func 表示有返回值,  返回两个的和

            Console.WriteLine( t(6,4));//输出 10

            Func<int, bool> a = delegate (int j) { return j > 0; };
            Console.WriteLine(a(6));
            Action<int> b = delegate (int i) //自定义委托 使用Action表示无返回值
            {
                if (i > 0)
                {
                    Console.WriteLine($"{i}>0");
                }
                else
                {
                    Console.WriteLine($"{i}<=0");
                }
            };

           
            int[] num = new int []{ 11,12,90,-2, 0, 4, 2, 5, 7, 9 };//输出数组中 大于等于3的数,并按照升序排列

            foreach (var item in num.Where(t => t >= 3).OrderBy(t=>t))
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("---------------------------------------------------");
            foreach (var item in myWhere(num,t=>t>3)) //调用自定义的函数  myWhere
            {
                Console.WriteLine(item);
            }

/// <summary>
        /// 自定义函数 使用有返回值的委托作为参数 ,
        /// 输出数组中 大于等于3的数,并按照升序排列
        /// </summary>
        /// <param name="items"></param>
        /// <param name="f"></param>
        /// <returns></returns>
        static IEnumerable<int> myWhere(IEnumerable<int> items, Func<int,bool> f)
        {
            List<int> list = new List<int>();
            foreach (var item in items)
            {
                if (f(item)) {
                    list.Add(item);
                } 
            }
            return list.OrderBy(t=>t);
        
        }

 

标签:Console,委托,自定义,c#,Func,item,WriteLine
From: https://www.cnblogs.com/sunzzhankui/p/18600715

相关文章

  • C#中的DateTime、DateTimeOffset和TimeSpan(链接)
    下面的微软官方文档,介绍了C#中的DateTime:DateTimeStructSystem.DateTimestruct其中这里有提到,DateTime的精度为100纳秒:Timevaluesaremeasuredin100-nanosecondunitscalledticks.DateTime.TicksProperty属性可以返回DateTime代表的100纳秒数。而DateTime(Int64)......
  • FastAPI Pydantic 模型
    Pydantic是一个用于数据验证和序列化的Python模型库。它在FastAPI中广泛使用,用于定义请求体、响应体和其他数据模型,提供了强大的类型检查和自动文档生成功能。以下是关于Pydantic模型的详细介绍:1.定义Pydantic模型使用Pydantic定义一个模型非常简单,只需创建一......
  • ntp-service unicast-server命令的含义
    ntp-serviceunicast-server 是网络时间协议(NTP)配置中的一项,用于在设备(如路由器或交换机)上设置NTP服务,以单播模式与特定时间服务器进行同步。以下是相关概念和配置说明:1.什么是单播模式(UnicastMode)单播模式是NTP的一种通信方式,设备直接向指定的NTP服务器发送时......
  • Python社区邻里互助便民平台 16gm(Pycharm Flask Django Vue mysql)
    文章目录项目介绍具体实现截图开发技术设计思路开发与测试:核心代码部分展示文章目录/协作提纲源码/演示视频获取方式项目介绍社区互助平台的功能分为管理员和用户两个部分,系统的主要功能包括首页,个人中心,用户管理,租房信息管理,失物招领管理,宠物代遛管理,停车位出租管......
  • 线索二叉树——c语言详细注释版
        线索二叉树是一种特殊的二叉树,主要用于高效地实现树的遍历。与普通的二叉树相比,线索二叉树通过在节点中增加“线索”指针来简化遍历过程。值得注意的是,线索化二叉树的过程仍然需要使用递归,而后续遍历效率才会提高,适合一次构造,多次调用的场景。前言一般的二叉树在......
  • C++中的虚函数和纯虚函数
     在C++中,虚函数和纯虚函数都有助于实现多态性,但它们之间有几个重要的区别。 一、虚函数(VirtualFunction)1.定义:当你在基类中使用virtual关键字声明一个成员函数时,你就创建了一个虚函数。这意味着即使通过基类指针或引用调用了该函数,实际执行的可能是派生类中重写的......
  • 前端开发必备-带你了解CSS-IN-JS解决方案的优缺点
    前端开发必备-带你了解CSS-IN-JS解决方案的优缺点https://www.bilibili.com/video/BV1Ss4y1k7hBP101.专题内容介绍3.Emotion库P202.为什么会有CSS-IN_JS这种解决方案CSS-IN-JS是WEB项目中将CSS代码捆绑在JavaScript代码中的解决方案.这种方案旨在解决CSS的局限......
  • C++学习笔记 入门及简单的顺序结构
    编写一个简单的C++程序——手速练习#include<iostream>usingnamespacestd;intmain(){cout<<"HelloWorld"<<endl;return0;}语法基础变量的定义变量必须先定义,才可以使用。不能重名。变量定义的方式:#include<iostream>usingnamespacestd;......
  • ECharts数据可视化项目
    https://www.bilibili.com/video/BV1v7411R7mp/?spm_id_from=333.788.recommend_more_video.2ECharts数据可视化项目-大屏数据可视化展示-echarts图表制作-pink老师直播课更新完毕)P101-直播课内容介绍Echarts一擦s课程技术栈-基于flexible.js+rem智能大屏适配-VScodec......
  • 转载:【AI系统】Tensor Core 基本原理
    在英伟达的通用GPU架构中,主要存在三种核心类型:CUDACore、TensorCore以及RTCore。其中,TensorCore扮演着极其关键的角色。TensorCore是针对深度学习和AI工作负载而设计的专用核心,可以实现混合精度计算并加速矩阵运算,尤其擅长处理半精度(FP16)和全精度(FP32)的矩阵乘法和累......