字符串对比??
s1是接收过来的字符串:“101,102,105,106”
if (s1!= null)
{
DataSet ds_hwbh =sqlhelper.GetDataSet("select hwbh from fhxx where fhqdh='"+fhqdh_edit+"'");//这个是原来fhxx中保存的hwbh
Ds_hwbh已经转为字符串s2:"101,102,103,104"
103,104是原来已经保存过的编号,状态已经改变了,现在要在删除之前将其状态恢复为01
105,106是新增加的编号不管其状态。
现在如何通过对比s1和s2两字符串,得出103,104这两个编号,将他们的状态update为01
- C# code
第一种情况s1='101,102's2='101,103' s1是fhxx表保存的,现在删除了102这个id 增加了103 所以要找出102这个id要update要的结果是102有时候s1,s2只有一个值第二种情况s1='101's2='102' s1是fhxx表保存的,现在删除了101这个id 增加了102 所以要找出101这个id要update要的结果是101第三种s1='101,102,103,104's2='101,102,105,106' s1是fhxx表保存的,现在删除了103,104 这个id 增加了105,106所以要找出103,104这2个id要update要的结果为103,104
[解决办法]
这个问题换个角度描述一下就是:在 s1 中找出不存在于 s2 中的项。
- C# code
string s1 = "101,102,103,104,105,106";string s2 = "101,103,105,107,109";string s3 = String.Join(",", s1.Split(',').Except(s2.Split(',')).ToArray());Console.WriteLine(s3);