[英]issues with Arrays in C#
Console.WriteLine("Please enter your number of the Names : ?");
int x = Convert.ToInt32(Console.ReadLine());
string[] names = new string[x];
for (int i = 0; i < x; i++)
{
Console.Write("Enter Name no.{0} : ", i + 1);
names[i] = Console.ReadLine();
}
Console.WriteLine("the items are {0}", names);
Console.ReadKey();
现在,当我想输入名称时,它只会打印输入的第一个名称!
就像我有5个名字一样,在最后一行
Console.WriteLine("the items are {0}", names);
它只是打印出第一个名字!
您也想在最后做一个循环
for
循环或foreach
,当前使用Console.WriteLine()
是使用string.Format()
重载
foreach (string name in names)
{
// Write out here
Console.WriteLine(name);
}
将字符串与所需的分隔符连接在一起,然后再将它们传递到writeline。
使用string.Join这样做。
将数组传递给WriteLine会使您认为您正在传递带有要格式化的值的数组。
您必须做一个循环。
Console.Write("the items are");
for (int i = 0; i < names.Length; ++i)
{
Console.Write(" ");
Console.Write(names[i]);
}
Console.WriteLine();
//Console.WriteLine("the items are {0}.", String.Join(", ", names));
string argsFormat = ( 1 < x) ?
String.Join(", ", Enumerable.Range(0, x).Select(n => "{" + n + "}").ToArray())
.Replace(", {" + (x-1) + "}", " and {" + (x-1) + "}") + "."
:
argsFormat = "{0}.";
Console.WriteLine("the items are " + argsFormat , names);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.