Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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# 比较两个列表,然后指定元素是否相等_C#_List - Fatal编程技术网

C# 比较两个列表,然后指定元素是否相等

C# 比较两个列表,然后指定元素是否相等,c#,list,C#,List,大家好,我正在尝试比较两个大小不同的列表,但是如果一个列表包含与另一个列表相同的内容,我希望将特定元素设置为不同的对象 for (int i = StartItemIdx; i < EndItemIdx; i++) { TmpOrderItem = mIOrder.mCurrentOrderItems[i]; //more code follows within this loop }

大家好,我正在尝试比较两个大小不同的列表,但是如果一个列表包含与另一个列表相同的内容,我希望将特定元素设置为不同的对象

        for (int i = StartItemIdx; i < EndItemIdx; i++)
        {
             TmpOrderItem = mIOrder.mCurrentOrderItems[i];

             //more code follows within this loop
        }
我有另一个名为“temp”的列表,它的类型与“mIOrder.mCurrentOrderItems”的类型相同,我所做的是在“temp”TmpOrderItem中找到的每个元素都将等于它。但不知何故,我需要我的命令,我需要我的命令

换句话说,我需要检查'mIOrder.mCurrentOrderItems'中的元素与'temp'中的元素是否相等,然后以某种方式将其附加到上面

    for (int i = StartItemIdx; i < EndItemIdx; i++)
    {
         TmpOrderItem = temp[i]; // is basically what I want but with the first example used

         //more code follows within this loop
    }
我试着做:

    for (int i = StartItemIdx; i < EndItemIdx; i++)
    {
         if(mIOrder.mCurrentOrderItems[i] == temp[i])
              TmpOrderItem = mIOrder.mCurrentOrderItems[i];
         else break;

         //more code follows within this loop
    }

但因为它们的大小在大多数情况下都不同,所以我得到了超出范围的期望值。

您可以通过linq intersect合并这两个列表。 以下是此网页中的一个示例

Linq是你的朋友。使用Intersect方法,如果开始索引和结束索引很重要,可以使用Skip和Take方法来确保在特定范围内工作

var intersections = mIOrder.mCurrentOrderItems.Intersect(temp);
foreach (var item in intersections)
{
    //Do whatever with item
}

不是我的否决票,虽然链接可能会回答问题,但建议在您的答案中添加必要的代码部分,因为链接可能会失效。还不是我的否决票:链接的唯一答案应该是评论,您已经有权这样做了。。。或者,为了得到好的答案,请确保提供完整的样本,除了链接外,还提供小的内联摘要。谢谢!尚未解决我的问题,但回答了我的问题: