字符串对比?该怎么处理
字符串对比??
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
------解决方案--------------------
这个问题换个角度描述一下就是:在 s1 中找出不存在于 s2 中的项。
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);