很少碰到的问题

jacoks2009 2009-04-17 01:59:58
有以下数组
267|266|265|264|263|262|261|


现需要删除符合以下ID的数组
264|266|


要求得到结果
267|265|263|262|261|

想了好久.得不到结果
...全文
67 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ewaterlong 2009-04-17
  • 打赏
  • 举报
回复
5,6,7楼的都行
feifeiyiwen 2009-04-17
  • 打赏
  • 举报
回复
好的,试试看
睡神在睡觉 2009-04-17
  • 打赏
  • 举报
回复
        /// <summary>
/// 移除指定成员
/// 注:数组最后以字节为标志
/// 0--正常移除
/// -1--未找到可移除的项
/// -2--移除失败
/// </summary>
/// <param name="use_Array">需要操作的数组</param>
/// <param name="member">需要移除项</param>
/// <returns></returns>
public static int[] Remove_Member(int[] use_Array,int member)
{
int[] back_Array = new int[use_Array.Length + 1];
try
{
int i = 0;
for (int cnt = 0; cnt < use_Array.Length; cnt++)
{
if (member != use_Array[cnt])
{
back_Array[i] = use_Array[cnt];
i++;
}
}
if (i == 0)
back_Array[use_Array.Length + 1] = -1;
}
catch { back_Array[use_Array.Length + 1] = -2; }
back_Array[use_Array.Length + 1] = 0;

return back_Array;
}


基本上着东西就能实现了吧....想一出多项就改改,不嫌麻烦就多用几次~就这意思吧~
seven1115 2009-04-17
  • 打赏
  • 举报
回复
楼主如果用的是ArrayList 点可以点出一个REMOVE的方法,根据方法填入变量就可以进行删除,比如 ArrayList.Remove(264) 应该可以做到 在数组里面好像都可以这样删除。
starsword 2009-04-17
  • 打赏
  • 举报
回复
如果数组长度不是很大的话,可以考虑把第一个数组拼接成一个字符串,如:
str1 = "|267|266|265|264|263|262|261|"

然后对第二个数组的元素进行遍历,同时替换第一个数组元素:
str1.Replace("|264|","|");

遍历后,字符串里剩下的就是你想要的结果
beckfun 2009-04-17
  • 打赏
  • 举报
回复
循环遍历!
tianke3477 2009-04-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 beckfun 的回复:]
遍历!删除-_-!

[/Quote]
就这么干
奔跑的蜗牛007 2009-04-17
  • 打赏
  • 举报
回复
转换成字符串替换后,再转换成数组更简单
beckfun 2009-04-17
  • 打赏
  • 举报
回复
遍历!删除-_-!

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧