我的 Distinct 函数不起作用,我不明白为什么 c#



Distinct函数在应该工作的时候没有工作。这是我正在使用的输入:

one one two
Distinct
End

这是我的全部代码:

using System;
using System.Collections.Generic;
using System.Linq;
namespace Array.Processing
{
class Program
{
static void Main(string[] args)
{
string input = Console.ReadLine();
List<string> texts = input.Split(" ").ToList();
string text = Console.ReadLine();
int a = 0;
while (text != "END")
{
text = Console.ReadLine();
List<string> infos = text.Split(" ").ToList();
if (text == "Distinct")
{
texts = texts.Distinct().ToList();
}
if (text == "Reverse")
{
texts.Reverse();
}
if (infos[0] == "Replace")
{
if (texts.Count > int.Parse(infos[1]) && int.Parse(infos[1]) >= 0)
{
texts.RemoveAt(int.Parse(infos[1]));
texts.Insert(int.Parse(infos[1]), infos[2]);
}
else
{
a++;
}
}
}
for(int n = 0; n < a; n++)
{
Console.WriteLine("Invalid input!");
}
foreach (string info in texts)
{
Console.Write(info + " ");
}
}
}
}

这就是我收到的输出:

one one two

我不明白为什么两者都是";一个";残余到目前为止,我已经看了一个多小时的代码,但仍然一无所获。。。

首先你有

string input = Console.ReadLine(); // one one two

接下来你有

string text = Console.ReadLine(); // Distinct

接下来,第一次在while中有

text = Console.ReadLine(); // End

在这一点上,您检查CCD_;结束";所以你永远不会在列表中调用Distinct()

相关内容

  • 没有找到相关文章

最新更新