5

我正在编写正确的代码,但出现错误 - 缺少命名空间或程序集引用。代码有问题还是我遗漏了什么?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 0;
            int sum = 0;
            int[] arr = new int[] { 1, 2 };

            do
            {
                {
                    sum += arr[1];
                    Console.WriteLine("Wow");
                    i++;
                }
            }
            while (i < 3);
        }
    }
}

错误是:错误无法使用集合初始化程序初始化类型“int”,因为它没有实现“System.Collections.IEnumerable”

4

7 回答 7

58

我的命名空间以Console(ie MyProject.Console) 结尾,这弄乱了对Console.Write. 在这种情况下,要么编写完全限定名称,System.Console.Write要么更改命名空间。

于 2015-03-04T15:12:00.077 回答
24

我正在编写正确的代码

不要从这个假设开始。始终假设编译器是正确的,而您的代码是错误的。

您没有显示任何using指令。在这种情况下,您只需要

using System;

(无论是在代码的最顶部还是在namespace声明中。)

或将您的WriteLine电话更改为:

System.Console.WriteLine("Wow");

如果这不能解决它(或者如果您已经有了这样的using指令但忘记包含它),那么您的项目可能有些损坏 - 它不像您使用任何外来类型。

于 2012-08-15T06:11:52.773 回答
3

导入System命名空间或只使用System.Console.WriteLine("...");

using System;

namespace TestNs
{
   public class Test
    {
      static void Main() 
       {
         Console.WriteLine("Hello World");
        }
     }
}
于 2012-08-15T06:11:02.920 回答
2

我遇到了类似的问题。我使用的命名空间名称以 .Console 结尾,因此与 System.Console 发生冲突

using System;

namespace Test.Console
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

我将 Test.Console 更改为 Test.ConsoleApp,并为我解决了问题

using System;

namespace Test.ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}
于 2021-01-02T08:06:38.033 回答
1

您的控制台应用程序的最低要求应该有这个

using System;
using System.Collections.Generic;
using System.Text;

namespace TestConsole
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}
于 2012-08-15T06:11:37.407 回答
0

感谢大家的帮助,我设法在你们的帮助下解决了这个问题:)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {

            int i = 0; //initialize integer i=0
            int sum = 0; // initialize integer sum = 0;
            int[] arr = new int[]{1, 2, 3, 4}; // array containing 4 integers elements
            do
            {

                {
                    sum+=arr[i];    //sum each integer in array and store it in var sum

                    i++;        //increment i for each element of array
                    Console.WriteLine(sum); //output the var sum conatining values after each increment
                }

            }
            while(i<=3); //check condition for number of elements in array

        }
    }
}
于 2012-08-15T07:16:15.767 回答
0

使用命名空间 ofMyproject.App也会导致问题,方式与MyProject.Console(根据上面contactmatt的回答)相同。

于 2019-08-13T22:57:03.657 回答