我是最近刚学习c#,发现了一些问题自己不能解决。   c# 删除数组一个数据,如果输入的数中没数组中的数,如何报错
我是这样解决的不知道有没有其他简单的办法。namespace array_delete
{
    class Program
    {
        static void Main(string[] args)
        {
            int k, i;
            int[] A = new int[] { 1, 12, 23, 64, 78, 100,0};
            for (i = 0; i < A.Length - 1;i++ ) Console.Write("{0,4}", A[i]);
            Console.WriteLine();
            Console.WriteLine("请输入要删除的整数:");
            string s = Console.ReadLine();
            int x = int.Parse(s);
           
            for (k = 0; k <A.Length; k++)
            {                if (x== A[k]) break;
               
               
            }
            if (k == 7)
            {
                Console.WriteLine("请输入正确的数");
                goto loop; 
            
            }
            for (i = k; i < A.Length - 1; i++)
            {
                A[i] = A[i + 1];
            }
            Console.WriteLine("现在数组为:");
            for (i = 0; i < A.Length - 2; i++) Console.Write("{0,4}",A[i]);
            loop:
            Console.ReadLine();
        }
    }
}
谁帮我解决一下,小弟谢谢啦

解决方案 »

  1.   

      if (k == 7)
                {
                    Console.WriteLine("请输入正确的数");
                    goto loop; 
                
                }goto语句一般不建议使用。
    你可以在这个if中直接return掉就可以了,
    或者写出if...else的结构。报错的话
      if (k == 7)
                {
                    throw new ArgumentException(string.Format("数组中不存在元素:{0}", s));
                }直接抛出一个异常即可。
      

  2.   

    List<string> myList=new List<string>();
                int[] A = new int[] { 1, 12, 23, 64, 78, 100, 0 };
                List<int> myListInt = new List<int>(A);
                if (myListInt.Exists(FindInt))
                    “找到了!”
                else
                    “没找到”;委托:
    private static bool FindInt(int num)
            {
                if (num== 要找的数)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
      

  3.   

                int[] A = new int[] { 1, 12, 23, 64, 78, 100,0};
                Console.WriteLine("请输入要删除的整数:");
                string s = Console.ReadLine();
                int x = int.Parse(s);
    if (A.Any(y => x == y)) 
    Console.WriteLine("没有");
    else
    A = A.Where(y => y != x).ToArray();