首页 > 解决方案 > 如何在数组类型 DataColumn 上正确使用数组 Contains()

问题描述

我正在尝试匹配包含字符串数组的 DataRow 中的字符串。一旦列类型只是字符串,我就能够实现这一点,但现在它是每行的字符串数组。

DataTable 是 DataTable.Load(DataReader),因此会自动创建列类型。

我试图将字段更改为 r.Field<string[]> 但无法获得结果。如何正确匹配字符串 [] DataColumn 类型的 DataRow 内的数组中的字符串?

  var result = commandTable.AsEnumerable().Where
      (r => splittedMessage.Contains(r.Field<string>("Intent"))).Select(s => new
      {
        Command = s.Field<string>("Command"),
        Permission = s.Field<short>("Permission")
      }).First();

如果有办法将其保留在 lambda 中,我将不胜感激。

标签: c#datarowdatacolumn

解决方案


推荐阅读