字符串数组 string[] 转换为 字符串(用逗号,作为分隔符),linq Except的用法,linq获取两个字符串数组相同的部分

 

string[] oldIds = tempRe.Ids.Split(','); //数据库里面保存的原来的数据 例如 1,2,3,4
string[] newIds = ids.Split(',');        //传递过来的新的数据 例如  3,4,5,6


var result = from a in oldIds join b in newIds on a equals b into list from r in list select r;  //获取相同的例如 3,4


string[] sameIds = result.ToArray();
//步骤2:用linq把新,旧与相同的对比一下,哪些delete了,哪些add了
string[] deleteIds = oldIds.Except(sameIds).ToArray(); //用来返回oldIds有,sameIds没有的值,也就是计算被删除掉的
string[] addIds = newIds.Except(sameIds).ToArray();  //计算new的有,same没有的值,也就是增加的

//步骤3:该删除的删除,该增加的增加,该update群名字的update群名字
string goDeleteIds = deleteIds.Length != 0 ? string.Join(",", deleteIds) : "";
string goAddIds = addIds.Length != 0 ? string.Join(",", addIds) : "";

 

linq Except的用法

           int[] a = {1, 2, 3, 4};
         int[] b = {2, 3, 4, 5};
         var reslut = a.Except(b);
    result 用来返回a有,b没有的值,计算结果是1。

posted @ 2013-03-19 10:24  梨花驿路  阅读(2822)  评论(1)    收藏  举报