无法使C#阵列正常工作

时间:2017-01-12 04:26:13

标签: c# arrays

我在C#中遇到数组问题

当我输入

时我的课程内部
>>> public static void Main(string[] args) {
    Console.WriteLine (new string[] { "I", "Like", "π" });
}

控制台说

System.String[]

而不是我传入的数组。

我想要做的是将数组放入一个类似的方法中:

>>> public static void Main(string[] args) {
    DoSomething ({ "I", "Like", "π" });
}

>>> public static int DoSomething(string[] array) {
    for (int i = 0; i > array.Length; i++) {
        Console.WriteLine (array [i]);
    }
}

我收到错误说

Unexpected symbol '{' on 'DoSomething ({ "I", "Like", "π" });'

如何修复这些错误?

4 个答案:

答案 0 :(得分:3)

这就是你的计划应该如何。

public static void Main(string[] args) 
{
    DoSomething (new string[] { "I", "Like", "π" });
}

public static void DoSomething(string[] array)
{
    for (int i = 0; i < array.Length; i++)
    {
        Console.WriteLine (array [i]);
    }
}

在查看您的问题并将其与上述问题进行比较后,这些是我发现的错误。

  1. 您不能直接打印这样的数组元素。对于每个元素,它应该在一个循环中。

  2. 您不能像这样创建文字数组。您必须指定这是某个特定数据类型的新数组。

  3. 您的方法返回int,它不在代码中,也不会在任何地方使用。你应该在这种情况下使用void

答案 1 :(得分:1)

您可以使用for循环打印数组中的每个元素,也可以使用string.join在单个语句中打印,如下所示。而不是\ n你可以使用任何其他分隔符。例如,如果你需要打印逗号分隔,你可以使用(&#34;,&#34;,数组)

public static void Main(string[] args) {
    DoSomething ({ "I", "Like", "π" });
}

public static void DoSomething(string[] array) {        
        Console.WriteLine (string.Join("\n", array); 
}

答案 2 :(得分:0)

public static void Main(string[] args) {
    DoSomething (new[] { "I", "Like", "π" });
}

public static void DoSomething(string[] array) {
    for (int i = 0; i < array.Length; i++) {
        Console.WriteLine (array [i]);
    }
}

答案 3 :(得分:0)

对于你的第一个选择,我想建议一下:

Console.WriteLine("{0} {1} {2}", new string[] { "I", "Like", "π" });

或者像这样:

Console.WriteLine(String.Join(" ", new string[] { "I", "Like", "π" }));

对于第二个,您必须调用这样的方法:

 DoSomething (new[] { "I", "Like", "π" });

你需要像下面的那样改变循环:

for (int i = 0; i < array.Length; i++)
{
    Console.WriteLine (array [i]);
}