C# 列表的使用<;T>;在C中#

C# 列表的使用<;T>;在C中#,c#,C#,我不得不练习用C#制作一个小程序。 我必须输入两个名称,如果names.count==1,则只显示: "aName Liked post." if names.count ==2 then: "aName and bName liked post." if names.count > 2 then (for example count == 5): "aName, bName and 3 others liked post." 在>2和==1的情况下工作正常,但当有两个名称时,即=

我不得不练习用C#制作一个小程序。 我必须输入两个名称,如果names.count==1,则只显示:

"aName Liked post."

if names.count ==2 then:
"aName and bName liked post."

if names.count > 2 then (for example count == 5):

"aName, bName and 3 others liked post."
在>2和==1的情况下工作正常,但当有两个名称时,即==2,它会抛出未处理的异常:

未处理的异常:System.FormatException:索引(从零开始) 必须大于或等于零且小于 参数列表

var name=newlist();
while(true)
{
Console.WriteLine(“输入名称或按Enter键退出”);
var input=Console.ReadLine();
if(String.IsNullOrWhiteSpace(输入))
{
打破
}
名称。添加(输入);
}
如果(names.Count>2)
{
WriteLine(“{0},{1}和{2}其他人喜欢你的帖子。”,names[0],names[1],names.Count-2);
}else if(names.Count==2)
{
WriteLine({0}和{1}喜欢你的帖子。”,name[0],name[1]);
}
else if(names.Count==1)
{
WriteLine(“{0}喜欢你的帖子。”,名称[0]);
}
其他的
{
Console.WriteLine(“没有人喜欢”);
}
更改

Console.WriteLine("{0} and {2} liked your post.", names[0], names[1]);

{2}
的意思是“在此处插入第三个参数”。但是你真的想在第二分钟通过。

改变

Console.WriteLine("{0} and {2} liked your post.", names[0], names[1]);


{2}
的意思是“在此处插入第三个参数”。但是你真的想在第二个中传递。

“{0}和{2}
其中是1?你可以简单地查找String.Format并查看它引发FormatException的原因。或者你可以阅读错误消息。Console.WriteLine({0}和{2}喜欢你的帖子。”,name[0],name[1]);正确:Console.WriteLine({0}和{1}喜欢你的帖子,name[0],name[1]);我已经和它争论了大约30分钟。非常感谢您抽出时间
“{0}和{2}
1在哪里?您可以简单地查找String.Format,看看它为什么抛出FormatException。或者您可以阅读错误消息.Console.WriteLine(“{0}和{2}喜欢您的帖子。”,名称[0],名称[1]);正确:Console.WriteLine(“{0}和{1}喜欢你的帖子。”,name[0],name[1]);我已经和它搏斗了大约30分钟。非常感谢你抽出时间
Console.WriteLine("{0} and {1} liked your post.", names[0], names[1]);