【发布时间】:2012-02-24 03:44:20
【问题描述】:
我制作了一个程序,用户可以在其中输入任意数量的名字,包括名字、中间名首字母(可选)和姓氏格式。然后,我拆分名称并将它们分配给名为 firstName、middleInitial 和 lastName 的字符串变量。由于可能有多个名称输入,我已将每个变量添加到其自己的 arrayList 中,称为 fName、mI 和 lName。现在我必须对它们进行排序,以便它们按姓氏升序排列。这就是问题所在。对姓氏进行排序很容易,但是如何让 mI 和 fName arrayLists 以与 lName arrayList 相同的顺序排序?这是我的代码:
static void Main(string[] args)
{
ArrayList fName = new ArrayList();
ArrayList mI = new ArrayList();
ArrayList lName = new ArrayList();
Console.WriteLine("Please enter name: " + "(type quit to exit)");
string inValue = Console.ReadLine(); //prime Readline
while (inValue != "quit")
{
string firstName = "",
middleInitial = "",
lastName = "";
string[] name = inValue.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
firstName = name[0];
fName.Add(firstName);
if (name.Length > 2)
{
middleInitial = name[1];
mI.Add(middleInitial);
}
else
{
middleInitial = string.Empty;
mI.Add(middleInitial);
}
if (name.Length == 2)
{
lastName = name[1];
lName.Add(lastName);
}
else
{
lastName = string.Join(" ", name.Skip(2));
lName.Add(lastName);
}
Console.WriteLine("Please enter name: " + "(type quit to exit)");
inValue = Console.ReadLine();
}
}
【问题讨论】:
-
这是作业吗?否则没有实际理由保留单独的列表。
-
而且没有理由使用
ArrayList。请改用List<string>。 -
我会研究的。书中提到了它,但仅此而已。
标签: c#