c# - 我的内部连接有问题

标签 c# .net linq list

我有以下 LINQ 查询。 FactColumnsFactColumn 对象列表,SelectedColumns 是字符串列表。我想在 SelectedColumns 上使用内部联接来获取 FactColumn 对象的列表。但是,对于以下查询,我得到了 null

var lst = from fc in this.DataSetFact.FactColumns
          join column in m_TableDataDict[tableGuid].SelectedColumns
              on fc.Name equals column
          select new
          {
              fc.ColumnType,
              fc.DataType,
              fc.FriendlyName,
              fc.Name,
              fc.ParentFactName,
              fc.Size,
              fc.State
          };

为什么我得到的是 null

最佳答案

我可以看到上面的代码运行良好。检查数据是否正确加载。

示例

    List<FactColumn> FactColumns = new List<FactColumn>();
    List<string> SelectedColumns = new List<string>();
    private void Form2_Load(object sender, EventArgs e)
    {
        FactColumns.Add(new FactColumn() { DataType = "int", Name = "int" });
        FactColumns.Add(new FactColumn() { DataType = "string", Name = "string" });
        SelectedColumns.Add("string");
        var lst = from fc in this.FactColumns join column in SelectedColumns on fc.Name equals column select new { fc.DataType,  fc.Name};
        foreach (var column in lst)
        {
            MessageBox.Show(column.Name);
        }
    }

    public class FactColumn
    {
        public string DataType { get; set; }
        public string Name { get; set; }
    }

使用 lambda 怎么样:

var lst = this.DataSetFact.FactColumns.Where(hm=>hm_TableDataDict[tableGuid].SelectedColumns.Contains(hm.Name)

关于c# - 我的内部连接有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4919762/

相关文章:

C#控制浏览器

c# - pythonnet 在 .net 示例中嵌入 Python 加载模块失败

c# - 有完整的IEquatable实现引用吗?

c# - 错误无法将类型'string'隐式转换为'int'-ForEach循环中的迭代器

c# - mvc4 lambda : Add separate query to object model?

c# - 在主应用程序崩溃后终止另一个进程

c# - 为什么在尝试获取每个进程的 CPU 使用率时出现异常?

c# - 如何停止包含多个控件的面​​板的闪烁

.net - NServiceBus 与 Unity 2.0?

linq - 按年份和月份对 Linq 结果进行排序