【已更新最新开发文章,点击查看详细】

另外,还能了解在使用 var 隐式对变量进行类型化时的后台操作。

此强类型保证在编译时捕获类型错误,以便可以在用户遇到这些错误之前更正它们。

var 的隐式类型时,如何应用相同的原则。

不转换源数据的查询

源包含一个字符串序列,查询输出也是一个字符串序列。

C#3.0新增功能09 LINQ 基础06 LINQ 查询操作中的类型关系

  1. 数据源的类型参数决定范围变量的类型。

  2. 因此,查询变量是一个 IEnumerable<string>

  3. 因为查询变量是一个字符串序列,所以迭代变量也是一个字符串。

转换源数据的查询

因为 Name 是一个字符串,所以查询生成一个字符串序列作为输出。

C#3.0新增功能09 LINQ 基础06 LINQ 查询操作中的类型关系

  1. 数据源的类型参数决定范围变量的类型。

  2. 因为 Name 是一个字符串,所以 custNameQuery 的类型参数是 string,而非 Customer

  3. 因为 custNameQuery 是一个字符串序列,所以 foreach 循环的迭代变量也必须是 string

select 语句返回只捕获原始 Customer 对象的两个成员的匿名类型。

C#3.0新增功能09 LINQ 基础06 LINQ 查询操作中的类型关系

  1. 数据源的类型参数始终为查询中范围变量的类型。

  2. 因为 select 语句生成匿名类型,所以必须使用 var 隐式类型化查询变量。

  3. 因为查询变量的类型是隐式的,所以 foreach 循环中的迭代变量也必须是隐式的。

让编译器推断类型信息

但是,编译器为查询操作中的各个变量提供强类型。

C#3.0新增功能09 LINQ 基础06 LINQ 查询操作中的类型关系

 
【已更新最新开发文章,点击查看详细】

相关文章:

  • 2021-08-11
  • 2022-01-08
  • 2021-06-05
  • 2021-12-21
  • 2022-01-07
  • 2021-05-27
  • 2021-09-09
  • 2021-06-13
猜你喜欢
  • 2021-10-25
  • 2021-09-16
  • 2021-12-19
  • 2022-01-18
  • 2021-05-25
  • 2021-05-29
  • 2022-01-11
相关资源
相似解决方案