• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

c#lamda,var匿名类

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

lambda 是实例化委托的一个参数,是一个方法
1.0 委托
2.0 匿名方法,delegate 关键字
3.0 lambda 表达式,参数列表 => goesto 方法体
4.0 省略参数类型,参数类型由委托推算出来,是语法糖
5.0 如何方法体只有一行,可以去掉大括号,分号
6.0 可以省掉 new 关键字

objec,var 匿名类3.0
4.0 dynamic 避开编译器检查
var 匿名类,是只读的,var是语法糖,由编译器自动推算


public delegate void NoReturnNoParameter();
public delegate void WithReturnWithPara(int x, int y);

public void Show()
{

}
public void Show3(int id ,int name)
{

}

{
//1.0 委托
NoReturnNoParameter method = new NoReturnNoParameter(this.Show);
}

{
//2.0 匿名方法,delegate 关键字;
int i = 10;
WithReturnWithPara method3 = new WithReturnWithPara(delegate (int id, int name)
{
Console.WriteLine("i="+i);
Console.WriteLine($"{id}{name} 高级班");
});
method3.Invoke(123,456);
}

{
//3.0 lambda 表达式,参数列表 => goesto 方法体
int i = 10;
WithReturnWithPara method3 = new WithReturnWithPara( (int id, int name)=>
{
Console.WriteLine("i=" + i);
Console.WriteLine($"{id}{name} 高级班");
});
method3.Invoke(123, 456);
}

{
//4.0 省略参数类型,参数类型由委托推算出来,是语法糖
int i = 10;
WithReturnWithPara method3 = new WithReturnWithPara((id,name) =>
{
Console.WriteLine("i=" + i);
Console.WriteLine($"{id}{name} 高级班");
});
method3.Invoke(123, 456);
}

{
//5.0 如何方法体只有一行,可以去掉大括号,分号
int i = 10;
WithReturnWithPara method3 = new WithReturnWithPara((id, name)
=>Console.WriteLine($"{id}{name} 高级班")
);

method3.Invoke(123, 456);
}
{
//6.0 可以省掉 new 关键字;
int i = 10;
WithReturnWithPara method3 = (id, name)=> Console.WriteLine($"{id}{name} 高级班");

method3.Invoke(123, 456);
}
{
WithReturnWithPara method = new WithReturnWithPara(Show3);
method += this.Show3;
method += (id, name) => Console.WriteLine();
}

{
//objec,var 匿名类3.0
object model = new
{
id = 2,
name = "csj",
age = 22
};
// model.id; 不能点出来字段,编译器不认可,只能传obj,运行时认可;

}
{
//4.0 dynamic 避开编译器检查
dynamic dmodel = new
{
Id=1,
name="csj"
};
Console.WriteLine(dmodel.Id);
}
{
//var 匿名类,是只读的,var是语法糖,由编译器自动推算
var vmodel = new
{
id = 3,
name = "csj"
};
Console.WriteLine(vmodel.id);
Console.WriteLine(vmodel.GetType());
//vmodel.id = 2;
}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c# 那些不常用的操作发布时间:2022-07-10
下一篇:
C# Delegate 匿名 Delegate发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap