Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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# ASP.Net:Linq检查字符串数组是否包含字符串子数组_C#_Arrays_String_Linq - Fatal编程技术网

C# ASP.Net:Linq检查字符串数组是否包含字符串子数组

C# ASP.Net:Linq检查字符串数组是否包含字符串子数组,c#,arrays,string,linq,C#,Arrays,String,Linq,有没有办法检查一个字符串数组是否包含一个字符串子数组?数组中的元素不必和子数组中的元素完全相同,若它不是相同的字符串,那个么它只能包含子数组的元素作为更大数组中字符串的一部分 例如: 数组[“Ax”、“By”、“Cz”、“Dw”、“Eg”]包含子数组[“A”、“By”、“E”] 数组[“Ax”]包含子数组[“x”] 数组[“Ax”,“By”]包含子数组[“Ax”,“By”] 我需要用Linq语法写这个,我通过表单得到子数组作为输入“文本”,我用char(“”)拆分它,另一方面,我从数据库字段

有没有办法检查一个字符串数组是否包含一个字符串子数组?数组中的元素不必和子数组中的元素完全相同,若它不是相同的字符串,那个么它只能包含子数组的元素作为更大数组中字符串的一部分

例如:

  • 数组[“Ax”、“By”、“Cz”、“Dw”、“Eg”]包含子数组[“A”、“By”、“E”]
  • 数组[“Ax”]包含子数组[“x”]
  • 数组[“Ax”,“By”]包含子数组[“Ax”,“By”]
我需要用Linq语法写这个,我通过表单得到子数组作为输入“文本”,我用char(“”)拆分它,另一方面,我从数据库字段中得到更大的数组作为char(“”)拆分的字符串

我想做的是在客户机上进行“搜索”,检查是否可以部分过滤我的数据库结果

我通过输入文本字段从客户端浏览器获取子数组,这没关系,但我从数据库中获取的每个结果创建数组:

var auctions = from o in db.auctions select o;
我需要通过auction.productName.split(“”)-这将是Array


需要通过检查每个productName.split(“”)是否包含字符串[]字子数组来筛选字符串。

如果您要检查的是:子数组的所有项是否包含在“父”数组中,请尝试以下操作:

subArray.All(subItem => array.Any(item => item.Contains(subItem)));

如果您要检查子数组的所有项是否包含在“父”数组中,请尝试以下操作:

subArray.All(subItem => array.Any(item => item.Contains(subItem)));

您需要检查子数组中的所有元素在原始数组中是否至少有一个匹配字符串,其中子数组的字符串是原始数组中字符串的子集

不区分大小写:

string[] array = new string[] { "Ax", "By", "Cz", "Dw", "Eg" };
string[] subArray = new string[] { "A", "By", "E" };

bool result =
subArray.All(sub => array.Any
        (item => item.IndexOf(sub, StringComparison.InvariantCultureIgnoreCase) >= 0));

您需要检查子数组中的所有元素在原始数组中是否至少有一个匹配字符串,其中子数组的字符串是原始数组中字符串的子集

不区分大小写:

string[] array = new string[] { "Ax", "By", "Cz", "Dw", "Eg" };
string[] subArray = new string[] { "A", "By", "E" };

bool result =
subArray.All(sub => array.Any
        (item => item.IndexOf(sub, StringComparison.InvariantCultureIgnoreCase) >= 0));

是的,这正是我需要的,但我没有什么问题:var auctions=from o in db.auctions select o;像这样,我从数据库中得到的结果是,我的较大数组应该是:each auction.productName.split(“”)。我有更小的数组,比如string[]数组,但我在var auctions中从每次拍卖结果中制作了更大的数组?@luka032-不理解你的问题我已经编辑了我的问题,所以我希望我现在已经说得更清楚了。是的,这正是我需要的,但我没有什么问题:var auctions=来自db中的o.auctions选择o;像这样,我从数据库中得到的结果是,我的较大数组应该是:each auction.productName.split(“”)。我有更小的数组,比如string[]数组,但我在var拍卖中从每次拍卖结果中制作了更大的数组?@luka032-不理解你的问题我已经编辑了我的问题,所以我希望我现在已经说得更清楚了。