这几天有点不在状态,每一次自己很想认真的学习,写点东西的时候都会被各种小事情耽误,执行力太差。所以自己反思了下最近的学习情况,对于基础的知识,可以从书中和视频中学习到,自己还是需要注意下关于自己以前做的项目中的一些知识点,那些才是HR提问的关键所在。今天都6.4号了,时间过的真是快呀,学校7.18左右放假,自己打算去西安看看,能不能找到一个实习工作,不行的话只能等到大四的第一学期去走校招。可以我们大四的第一学期还有很多课,真不知道老师是如何想的。所以在这还剩不到快2个月的时间里,把自己想要学习的东西好好的学习下,提高自己的执行力和自控力。

委托,匿名函数,Lambda表达式

关于委托前面有说的,其实就是那么几个步骤,但是想在项目中熟练的使用,不是那么简单的,这些知识点都不一些不太容易掌握的,很抽象,需要通过长时间的项目代码练习才可以更好的理解里面前辈们所提倡的观点思路。

匿名函数----实现1--100的和。

    /// <summary>
/// 匿名方法
/// </summary>
class Program
{
//定义委托。
public delegate int GetSumNum(int min,int max);
static void Main(string[] args)
{
//匿名方法,必须使用delegate来定义,参数和返回值必须和定义的委托一样。
GetSumNum _getSum = delegate(int min,int max)
{
int sum = 0;
for (int i =min; i <=max; i++)
{
sum += i;
}
return sum;
};
int a=_getSum(1,100); //调用匿名函数,传递参数。
Console.WriteLine(a);
Console.ReadKey();
}
}

通过Lambda表达式来得到结果,比较二者的区别和相似的地方。

    /// <summary>
/// 匿名方法
/// </summary>
class Program
{
//定义委托。
public delegate int GetSumNum(int min, int max);
static void Main(string[] args)
{
//Lambda表达式 注意:要是方法体中代码很多,我们就可以写一个{ }来表示。
GetSumNum _getSum = (min, max) =>
{
int sum = 0;
for (int i = min; i <= max; i++)
{
sum += i;
}
return sum;
};
int a = _getSum(1, 100); //调用匿名函数,传递参数。
Console.WriteLine(a);
Console.ReadKey();
}
}

注意:

我们使用Lambda表达式的时候,(a,b)=>{}; a,b是我们的参数,{}里面是我们需要写的代码段,要是只有一句代码直接写在后面不需要写{}。

eg:得到1--1000之间的水仙花数。

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。

    class Program
{
public delegate bool GetNum(int num);
static void Main(string[] args)
{
List<int> listNum=new List<int>();
for (int i = 100; i <1000; i++)
{
listNum.Add(i);
}
//将Lambda的方法传递进去,在MyWhere中进行执行。
int[] ns=MyWhere(listNum.ToArray(), e =>
{
//123
int n1 = e%10; // 3
int n2 = e/10%10; // 2
int n3 = e/100; // 1
return (n1*n1*n1 + n2*n2*n2 + n3*n3*n3) == e;
});
Console.WriteLine("100--1000之间的水仙花数------:");
for (int i = 0; i <ns.Length; i++)
{
Console.WriteLine(ns[i]);
}
Console.ReadKey();
}
//实现委托的方法
public static int[] MyWhere(int[] num,GetNum ck)
{
List<int> list=new List<int>();
for (int i = 0; i <num.Length; i++)
{
if (ck(num[i]))
{
list.Add(num[i]);
}
}
return list.ToArray();
}
}

最新文章

  1. MVC @Html.TextBox 添加属性和样式
  2. 【软件工程】用map 实现把英语文本文件词和个数打印出来
  3. 基于slideout.js实现的移动端侧边栏滑动特效
  4. Velocity模板引擎入门
  5. 谈谈自己对java的学习看法
  6. linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程
  7. ashx页面 “检测到有潜在危险的 Request.Form 值”的解决方法(控制单个处理程序不检测html标签)
  8. auto_ptr and scoped_ptr
  9. OSPF的基本配置及DR /BDR选举的实验
  10. [补档]暑假集训D6总结
  11. win7 Host文件修改后无效的解决办法
  12. 监控hdfs 块迁移数量脚本及 metasave 日志内容详解
  13. IOS初级:SDWebImage
  14. 从微信SDK看ProtoBuffer文件的生成
  15. hdu 5078(2014鞍山现场赛 I题)
  16. hihocoder 1580 dp最大子矩阵和
  17. BZOJ4590 Shoi2015 自动刷题机 【二分】
  18. 关于Oracle to_char()函数中的IW,WW 周别显示
  19. SQLMap的前世今生(Part1)
  20. 测试数据库DG搭建为正式库以后做准备

热门文章

  1. 我的ORM之示例项目
  2. 【Bugly技术干货】那些年我们用过的显示性能指标
  3. Windows10 UWP开发 - 响应式设计
  4. 每周一书-2016年8月15日到21日(bootstrap基础教程)获奖读者公布
  5. Form认证的几点说明
  6. ASP.NET一般处理程序访问Session问题
  7. 与webview打交道中踩过的那些坑
  8. 线程池ThreadPool知识碎片和使用经验速记
  9. Linux—解压缩
  10. js模仿新浪微博限制字数输入