c# - 为什么 .Equals 在此 LINQ 示例中不起作用?

标签 c# linq linqpad

为什么这会产生一个空集?

Object[] types = {23, 234, "hello", "test", true, 23};

var newTypes = types.Select(x => x.GetType().Name)
    .Where(x => x.GetType().Name.Equals("Int32"))
    .OrderBy(x => x);

newTypes.Dump();

最佳答案

当您进行选择时,您会得到一个 IEnumerable<String> .然后,您将获取列表中每个字符串的类型(全是“String”),并在不等于“Int32”(即整个列表)的地方过滤掉它们。因此...列表是空的。

关于c# - 为什么 .Equals 在此 LINQ 示例中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1675162/

相关文章:

LINQ 连接错误

mysql - 离线下载mysql驱动

c# - WPF DataGrid 上的拖放行行为

c# - 当用户单击列标题时,是否可以强制 DataGridView 控件按单元格内容以外的值排序?

c# - 将 linq 查询结果连接到字符串?

c# - IEnumerable.Count() 可以返回负数吗?

代理服务器的 C# 性能(与 C++ 相比)

C# - 调用具有所有默认参数的结构构造函数

c# - 如何使用 .net 匹配 Unicode 字符?

LinqPad 教程