需求
输入:1,2,3,4,5
输出:1,4,5
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 遍历队列并删除
{
class Program
{
static void Main(string[] args)
{
Program program = new Program();
program.main();
Console.ReadKey();
}
public void main() {
test1();
test2();
test3();
}
void test1() {
Console.WriteLine();
List<A> @as = new List<A>();
for (int i = 0; i < 5; i++)
{
@as.Add(new A(i + 1));
}
try
{
foreach (A a in @as)
{
if (a.a == 2 || a.a == 3)
{
@as.Remove(a);
}
}
}
catch (Exception e) {
Console.WriteLine(e.Message);
}
}
void test2()
{
Console.WriteLine();
List<A> @as = new List<A>();
for (int i = 0; i < 5; i++)
{
@as.Add(new A(i + 1));
}
try
{
for (int i = 0; i < @as.Count; i++)
{
A a = @as[i];
if (a.a == 2 || a.a == 3)
{
@as.Remove(a);
}
}
foreach (A a in @as)
{
Console.Write(a.a + " ");
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
void test3()
{
Console.WriteLine();
List<A> @as = new List<A>();
for (int i = 0; i < 5; i++)
{
@as.Add(new A(i + 1));
}
try
{
for (int i = @as.Count-1; i >= 0; i--)
{
A a = @as[i];
if (a.a == 2 || a.a == 3)
{
@as.Remove(a);
}
}
foreach (A a in @as)
{
Console.Write(a.a + " ");
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
class A {
public A(int v) {
a = v;
}
public int a;
}
}
运行