如何检查从此 Linq 查询中检索到的值作为 .ToLower()?

阿鲁埃特拉

这是我的代码:

DataRow r = VirtualTable
  .AsEnumerable()
  .FirstOrDefault(tt => (tt.Field<string>("Column1") == value1) ||
                        (tt.Field<string>("Column1") == value2));

此代码检索其“Column1”与给定字符串匹配的数据行。然后我根据 bool if 语句检查它。但是,尽管我可以更改字符串的大小写,但我不知道如何使用 Linq 给我的值来处理它。仍在学习 linq,所以我还不知道如何解决它。

简而言之,我在表中有字符串“Red box”,但希望它被读取为“red box”,这样它就会匹配我的相同值的内部字符串。

此外,我试图检索IndexOf此查询给我的行,但即使找到匹配项,我也总是检索​​ -1。

这是检索它的代码:

int SelectedIndex = VirtualTable.Rows.IndexOf(r);
德米特里·比琴科

尝试string.Equals忽略大小写和重载Select以获取行的索引:

   var row = VirtualTable
     .AsEnumerable()
     .Select((tt, index) => new {
        value = tt.Field<string>("Column1"),
        index = index})
     .FirstOrDefault(item => 
        string.Equals(item.value, value1, StringComparison.OrdinalIgnoreCase) ||
        string.Equals(item.value, value2, StringComparison.OrdinalIgnoreCase));

   // If we have the row found, we can get
   if (row != null) {
     var r = row.value;              // value, e.g. "bla-bla-bla"
     int selectedIndex = row.index;  // as well as its index, e.g. 123 
     ... 
   }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章