Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查Linq结果的值_C#_Linq - Fatal编程技术网

C# 检查Linq结果的值

C# 检查Linq结果的值,c#,linq,C#,Linq,如何检查特定字符串值的LINQ查询结果 我有以下linq查询: IEnumerable<DataRow> rows = searchParamsTable.AsEnumerable() .Where(r => r.Field<String>("TABLE") == tableNumbers[i].ToString()

如何检查特定字符串值的LINQ查询结果

我有以下linq查询:

IEnumerable<DataRow> rows = searchParamsTable.AsEnumerable()
                                        .Where(r => r.Field<String>("TABLE") == tableNumbers[i].ToString()
                                        && r.Field<String>("FIELD ") == fieldName[i]);
IEnumerable rows=searchParamsTable.AsEnumerable()
.Where(r=>r.Field(“TABLE”)==tableNumbers[i].ToString()
&&r.字段(“字段”)==字段名[i];
我想查看该查询的结果是否包含字符串(以文本框形式传递)“wildcardSearchString”。

请尝试使用此代码

   DataRow[] array = rows.ToArray();

   array.Contains(yourIndex, yourTextBox.Text); 
添加此扩展名

 public static bool Contains(this DataRow[] dataRows, string value, int index)
   {
     foreach(var row in dataRows)
     {
        if(row[index].ToString().Contains(value))
        {
             return true;
        }
     } 
     return false;
  } 
请尝试使用此代码

   DataRow[] array = rows.ToArray();

   array.Contains(yourIndex, yourTextBox.Text); 
添加此扩展名

 public static bool Contains(this DataRow[] dataRows, string value, int index)
   {
     foreach(var row in dataRows)
     {
        if(row[index].ToString().Contains(value))
        {
             return true;
        }
     } 
     return false;
  } 
你是说像这样的事吗

var searchRows = 
        rows.Where(tr => tr.ItemArray
            .Any(ti => ti.ToString().IndexOf("wildcardSearchString", StringComparison.CurrentCultureIgnoreCase) > 0))
你是说像这样的事吗

var searchRows = 
        rows.Where(tr => tr.ItemArray
            .Any(ti => ti.ToString().IndexOf("wildcardSearchString", StringComparison.CurrentCultureIgnoreCase) > 0))
这将遍历返回的每一行,并查看“wildcardSearchString”是否在行项目字符串表示中(忽略大小写)。但问题是,这无法获得通配符搜索支持,因此您必须自己解决这个问题。您可以尝试使用正则表达式,这需要稍作修改:

string searchPattern = "some*string".Replace("*", ".*");
var searchRows = 
        rows.Where(tr => tr.ItemArray
            .Any(ti => Regex.IsMatch(ti.ToString(), searchPattern)))
希望有帮助。请注意,如果他们决定尝试提供一个正则表达式模式,那么这可能会真正打乱他们正在搜索的内容,所以您只需要小心输入

这将遍历返回的每一行,并查看“wildcardSearchString”是否在行项目字符串表示中(忽略大小写)。但问题是,这无法获得通配符搜索支持,因此您必须自己解决这个问题。您可以尝试使用正则表达式,这需要稍作修改:

string searchPattern = "some*string".Replace("*", ".*");
var searchRows = 
        rows.Where(tr => tr.ItemArray
            .Any(ti => Regex.IsMatch(ti.ToString(), searchPattern)))

希望有帮助。请注意,如果他们决定尝试提供正则表达式模式,那么这可能会真正打乱他们正在搜索的内容,因此您只需小心输入。

我不知道您是否了解
数据表的内置搜索功能?您可以使用它的方法:


Linq还可以,但并不总是必需的:)。

我不知道您是否了解
数据表的内置搜索功能?您可以使用它的方法:


Linq还可以,但并不总是必需的:)。

您所说的“该查询的结果”是什么意思?您有一个行序列-您想检查哪个列是否存在字符串?我应该更清楚地说明这一点。我想看看我的搜索值是否在任何一行中。你说的“该查询的结果”是什么意思?您有一个行序列-您想检查哪个列是否存在字符串?我应该更清楚地说明这一点。我想查看我的搜索值是否在任何一行中。Aghilas,我尝试了您的示例,但出现以下错误,“无法将带[]的索引应用于'System.Collections.Generic.IEnumerable'类型的表达式”。如何更正此问题?Thank's Shyju,Larry try with post modified with ToArray()无法将“System.Data.DataRow”转换为“System.Linq.ParallelQuerySystem.Data.DataRow”不包含“Contains”和“System.Linq.ParallelEnumerable.Contains”的最佳扩展方法重载定义(System.Linq.ParallelQuerySystem,TSource)'有一些无效的参数,我尝试了您的示例,但出现以下错误,“无法将带[]的索引应用于'System.Collections.Generic.IEnumerable'类型的表达式”。如何更正此问题?Thank's Shyju,Larry try with post modified with ToArray()无法将“System.Data.DataRow”转换为“System.Linq.ParallelQuerySystem.Data.DataRow”不包含“Contains”和“System.Linq.ParallelEnumerable.Contains”的最佳扩展方法重载定义(System.Linq.ParallelQuerySystem,TSource)'有一些无效的参数Tony,我尝试了您的方法,但出现了一个错误,即该对象不包含'contains'的定义。@LarryBargers您是否尝试过o.ToString().contains(“测试”)?Anthony,我尝试了您的方法,但出现了一个错误,即该对象不包含'contains'的定义。@LarryBargers您尝试过o.ToString()吗.包含(“测试”)?