如何检查mvc 4中另一个数组中是否存在数组的每个项目?

时间:2015-10-09 05:54:59

标签: c# model-view-controller

我有两个字符串数组,例如selPhoto["419","418"]preview_photo["418"]。我需要检查selPhoto中的每个元素是否存在于 mvc4中是否preview_photo

5 个答案:

答案 0 :(得分:0)

这个怎么样:

var y = new[] { "419", "418" };
var x = new[] { "418" };

检查交叉点

x.Intersect(y).Contains("418");

答案 1 :(得分:0)

您可以尝试检查一个数组是否是另一个数组的子集:

bool isSubset = !array2.Except(array1).Any();

所以它会像

bool isSubset = !preview_photo.Except(selPhoto).Any();

您也可以尝试为此

创建扩展方法
public static bool isSubset<T>(this IEnumerable<T> arr1, IEnumerable<T> arr2)
{
    return !arr1.Except(arr2).Any();
}

答案 2 :(得分:0)

您可以使用Except并检查结果集中是否有任何项目

var containsAllElements = !preview_photo.Except(selPhoto).Any();

答案 3 :(得分:0)

public ActionResult AddtoCart(string selPhoto, string preview_photo)
        {

    string[] values = selPhoto.Split(',');
    string[] photo = preview_photo.Split(',');
    foreach (var item in values)
    {
        if (photo.Contains(item))
        {
          // do action item in second array
        }

        else
        {
         //do action item not in second array
        }
    }
}

答案 4 :(得分:0)

var y = new[] { "419", "418" };
var x = new[] { "418" };
bool present=y.ToList().TrueForAll(a=>x.Contains(a));
然而,显示你尝试过的东西总是好的