C#_匿名类型与元组

匿名类型

匿名类型简介

匿名类型提供了一种方便的方法,可用来将一组相关的属性封装到单个对象中。匿名对象由编译器在编译时动态生成,它是只读不写的存在,且在当前作用域中可见,它可以方便地在代码中传递与使用(直接理解:不用写Class直接new对象,组合数据,传递数据)。

作用

避免编写不必要的类,提高编码效率,逻辑更清晰。

缺点

 超出当前作用域,需使用dynamic或反射等方式来获取数据项

应用

匿名对象通常用在LINQ的select子句及多返回值场景

使用案例

1.创建使用匿名类型对象

 2.动态类型处理匿名类型对象(缺点:属性名写错了,也不会报错,运行时出错)

3. 指定类型接收匿名类型对象

4.通过反射获取匿名类型数据项(测试匿名类型作参数) 

5.Linq(语句集成查询)支持对匿名对象集合的查询处理

元组

元组简介

元组是一种泛型结构体,系统已经定义好了。

元组使用技巧

1. 一行代码交换两个变量的值

2. 使用更简洁赋值语法

3. 使用命名字段

4. 元组作为参数

5. 元组作为返回类型

 

 6. 使用元组作为返回值,调用方法并解构返回值

 7. 元组可以修改

 8. 元组类型支持相等运算符 == 和 !=,它比较的是各个元素

9. 元组中可以使用任意数量的元素 

 

元组解构 

元组创建就是将多个零散变量组成一个元组,元组就是将一个元组分解成对你哥零散变量。

 弃元

即放弃不需要的元素

将第一个元素和第三个元素丢弃,只要打印第二元素(a)

 

相同

1. 不写class,new对象。

2.在Linq中使用方便。

 

区别

1. 编写格式

匿名类型:  new{格式简洁}

元组- Value Tuple  : (更简洁)

2. 赋值

匿名类型:属性名 = 属性值

元组- Value Tuple:字段名:字段值

3.读取

匿名类型:只读

元组- Value Tuple:字段值可修改

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值