我在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", "π" });'
如何修复这些错误?
答案 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]);
}
}
在查看您的问题并将其与上述问题进行比较后,这些是我发现的错误。
您不能直接打印这样的数组元素。对于每个元素,它应该在一个循环中。
您不能像这样创建文字数组。您必须指定这是某个特定数据类型的新数组。
您的方法返回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]);
}