循环2数组并检查是否相等的值并更新数据C#

时间:2016-04-21 23:35:33

标签: c# arrays

  1. 我有一个最多2个图片的数组,但它也可以 null或服务器端只有1个id。

  2. 第二个数组来自客户端,它也可以有2,1或 0个元素。

  3. 现在我需要检查来自客户端的id是否在服务器端的数组中,如果是,则删除旧的并用new替换。

    示例:

    oldId(1 , 2)
    newID(2 , 3)
    if ([2] != [1] && [2] != [2]) {
      //ignore replacing oldId array
    }
    if ([3] != [1] && [3] != [2]) {
      //replace array 
    }
    

    所以最后我应该有数组(3,2)

    谢谢。

2 个答案:

答案 0 :(得分:0)

根据你的例子:

foreach(var item in clientArray)
{
    if(!serverArray.Contains(item))
    {
        // do something
    }
}

但你的句子(上面的例子)却说了相反的话。

答案 1 :(得分:0)

我不确定数据库数据是否是旧的Id,客户端的数据是新Id,但如果是这种情况,那么试试这个..

int[] oldId = { 1, 2 };
int[] newId = { 2, 3 };

for(int i = 0; i < newId.Length; i++)
{
    int index = Array.IndexOf(oldId, newId[i]);
    if(index == -1) // -1 if value does not exist
    {
        oldId[i] = newId[i];
    }
}