我编写了一个简单的代码,并将一个数组传递给该方法并返回该值并尝试将其打印出来。不知何故,我没有得到所需的输出。请指出我错在哪里。此外,还欢迎使代码简洁的提示。
static void Main(string[] args)
{
string[] ar = new string[] { "hello", "world", "people" };
writeString(ar);
Console.WriteLine(ar);
Console.ReadLine();
}
static string writeString(string[] ar)
{
string a1 = " ";
foreach (string a in ar)
{
a1 = a1 + a;
}
return a1;
}
答案 0 :(得分:4)
我希望代码示例能够清楚说明。您必须从writeString函数捕获返回值并输出该值。
static void Main(string[] args)
{
string[] ar = new string[] { "hello", "world", "people" };
string output = writeString(ar);
Console.WriteLine(output);
Console.ReadLine();
}
static string writeString(string[] ar)
{
string a1 = " ";
foreach (string a in ar)
{
a1 = a1 + a;
}
return a1;
}
答案 1 :(得分:2)
您可以使用简洁的代码refactor
,如下所示,无需其他方法。
注意:我在数组项之前添加了空格。但是,如果您需要在每个数组项之间留出空格,请将delimitter
行更改为string delimitter = " ";
您可以使用delimitter
等任何字符更改下面的,
static void Main(string[] args)
{
string[] ar = new string[] { "hello", "world", "people" };
string delimitter = "";
string output = " " + String.Join(delimitter, ar);
Console.WriteLine(output);
// You can do the same in one line as below by commenting above three lines
// Console.WriteLine(" " + String.Join("", ar));
Console.ReadLine();
}
答案 2 :(得分:1)
您不打印writeString(string[] ar)
方法返回的字符串。而是打印输入字符串数组变量ar
(在行Console.WriteLine(ar)
上)。这是你的问题。 WriteLine
语句仅打印变量ar
的完全限定名称类型:System.String[]
。
将行Console.WriteLine(ar)
更改为Console.WriteLine(writeString(ar))
以获得所需的输出。
答案 3 :(得分:1)
我编写了一个简单的代码,并将一个数组传递给该方法并返回该值并尝试将其打印出来。不知何故,我没有得到所需的输出
正如每个人都指出你没有收到返回值来打印它或对它做任何事情,所以一个简单的代码修改首先接收结果/输出:
var result = writeString(ar);
您的结果期望是什么
由于您正在打印数组,而不是返回值。甚至在被调用的函数中也没有修改数组,因此它保持完全相同。实现预期结果的最简单方法是:
Console.WriteLine(writeString(ar));