static string[] myFriends = new string[] {"Robert","Andrew","Leona","Ashley"};
如何从这个静态字符串数组中提取名称,以便我可以在不同的行上单独使用它们?如:
罗伯特坐在椅子上1安德鲁坐在椅子上2
Leona坐在椅子上3
阿什利坐在椅子上4
我猜我必须将它们分配给值,然后在WriteLine
Command
中,我会为每个对应的名称输入{1},{2},{3}等?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Friends
{
class Program
{
public void count(int inVal)
{
if (inVal == 0)
return;
count(inVal - 1);
Console.WriteLine("is sitting in chair {0}", inVal);
}
static void Main()
{
Program pr = new Program();
pr.count(4);
}
static string[] myStudents = new string[] {"Robert","Andrew","Leona","Ashley"};
}
}
我想将这些名字添加到“坐在椅子上”一行。
答案 0 :(得分:1)
我认为for
或foreach
作为@TGH提及是要走的路。它不是一个很好的递归使用,虽然它听起来像一个教科书练习而不是工业上使用递归。
如果您希望按原样修复您的使用递归,请将方法更改为:
public void count(int inVal)
{
if (inVal == 0)
return;
count(inVal - 1);
// arrays are 0-based, so the person in chair 1 is at array element 0
Console.WriteLine("{0} is sitting in chair {1}", myStudents[inVal-1], inVal);
}
答案 1 :(得分:0)
使用Linq扩展将代码简化为:
int chairNo =1;
myFriends.ToList().ForEach(x => Consol.WriteLine(string.Format("{0} is sitting in chair {1}", x, chairNo++)));
请记住将以下内容放在首位; 使用System.Linq;