我想检查数组中的2个字符串元素是否相等,如果是,则打印是,如果在数组中没有插入新的字符串,则打印否,问题是我想插入6个元素,我想打印6个是或否,但是和否的数目不等于插入的元素数目。
class Program
{
static void Main(string[] args)
{
int num = Convert.ToInt32(Console.ReadLine());
string[] names = new string[num];
for (int i =0;i<names.Length;i++)
{
names[i] = Console.ReadLine();
}
for (int i = 0; i<names.Length;i++)
{
for (int j = i + 1 ; j<names.Length ; j++)
{
if (names[i] == names[j])
{
Console.WriteLine("Yes");
}
else
Console.WriteLine("No");
}
}
}
}
}
对于6个元素,您要进行15次检查; 5 + 4 + 3 + 2 + 1 + 0,因此您将获得15个是或否。
假设您想要“如果该项目在列表中显示多次,则为列表中的每个项目打印是/否”:
Console.Write(String.Join(",",
names.Select(n => names.Count(x => x == n) > 1 ? "yes" : "no")));
[核心部分是.Count
给定字符串在数组中发生了多少次。