110,536
社区成员
发帖
与我相关
我的任务
分享
{
List<string> list = new List<string>();
while (true)
{
string zfc = Console.ReadLine();
if (zfc.Length == 0)
{
Console.WriteLine("已经完成");
break;
}
var v = list.SingleOrDefault(x => x == zfc);
if (v == null)
{
list.Add(zfc);
}
else
{
Console.WriteLine("已经存在");
}
}
Console.WriteLine("刚刚输入的单词是:");
foreach (var item in list)
{
Console.WriteLine(item);
}
Console.WriteLine("排序之后:");
list.Sort(); //但是如果不是一个单词回车一次就无法排序
foreach (var i in list)
{
Console.WriteLine(i);
}
}
List<string> list = new List<string>();
while (true)
{
string zfc = Console.ReadLine();
if (zfc.Length == 0)
{
Console.WriteLine("已经完成");
break;
}
var v = list.SingleOrDefault(x => x == zfc);
if (v == null)
{
list.Add(zfc);
}
else
{
Console.WriteLine("已经存在");
}
}
Console.WriteLine("刚刚输入的单词是:");
foreach (var item in list)
{
Console.WriteLine(item);
}
Console.WriteLine("用逗号分隔之后:");
string str = string.Join(",", list.ToArray());
Console.WriteLine(str);
Console.WriteLine("排序之后:");
list.Sort();
foreach (var i in list)
{
Console.WriteLine(i);
}
[/quote]
既然单词不能重复,就一个单词一回车吧,而且你使用了list
one two three four这样输入的话,需要存入string(而不是逐个单词再存入list),关键是这种方式下不好去掉重复单词
程序好像没问题
你非要one two three four这样输入,可以使用split按照空格分解出单词,再存入list,期间可以查重复
List<string> list = new List<string>();
while (true)
{
string zfc = Console.ReadLine();
if (zfc.Length == 0)
{
Console.WriteLine("已经完成");
break;
}
var v = list.SingleOrDefault(x => x == zfc);
if (v == null)
{
list.Add(zfc);
}
else
{
Console.WriteLine("已经存在");
}
}
Console.WriteLine("刚刚输入的单词是:");
foreach (var item in list)
{
Console.WriteLine(item);
}
Console.WriteLine("用逗号分隔之后:");
string str = string.Join(",", list.ToArray());
Console.WriteLine(str);
Console.WriteLine("排序之后:");
list.Sort();
foreach (var i in list)
{
Console.WriteLine(i);
}
Console.WriteLine(string.Join(",", Console.ReadLine().Split(' ').Distinct().OrderBy(x => x)));
首先你要明白,如果不用回车分隔,要么只要ReadLine一次,那么那个循环就没必要了
最后string.Join(",",字符串列表/数组);可以把字符串用,连接起来Console.ReadLine().Split(' ').Distinct().OrderBy(x => x).ToList().ForEach(x => Console.WriteLine(x));
Console.ReadLine().Split(' ').Distinct().OrderBy(x => x).ToList().ForEach(x => Console.WriteLine(x));