Marco,
Desculpe, mas você NÃO precisa verificar duas vezes: "Se existe" e "Se NÃO existe", basta verificar uma vez só, tipo... "Se existe" é porque falso "Não existe", você só precisa de 1 "for", sacou?
Você cria a variável "j" dentro do FOR a cada loop do for? Não é bem assim...
Montei um exemplo do que acredito que você quer, eu faço uma comparação do número atual "i" com o número na frente "i + 1", mas CUIDADO para não provocar um overflow!
bool resposta1 = duplicados(new int[] { 1, 2, 3, 4, 5, 6 });
bool resposta2 = duplicados(new int[] { 1, 2, 3, 4, 4, 6 });
Console.WriteLine($"resposta 1: {resposta1} ");
Console.WriteLine($"resposta 2: {resposta2} ");
bool resposta3 = duplicados2(new int[] { 1, 2, 3, 4, 5, 6 });
bool resposta4 = duplicados2(new int[] { 1, 2, 3, 4, 4, 6 });
Console.WriteLine($"resposta 3: {resposta3} ");
Console.WriteLine($"resposta 4: {resposta4} ");
Console.ReadKey();
static bool duplicados(int[] Array1)
{
for (int i = 0; i < Array1.Length - 1; i++)
{
if (Array1[i] == Array1[i + 1]) {
Console.WriteLine($"A Array1 tem duplicado o valor: {Array1[i]}");
return true;
}
}
return false;
}
// USANDO O LINQ:
static bool duplicados2(int[] Array1)
{
var arrayAgrupadosRepeticaoCount = Array1
.GroupBy(x => x)
.Select(a => new
{
Item = a.Key,
Quant = a.Count()
})
.ToArray();
if (arrayAgrupadosRepeticaoCount.Length == Array1.Length)
return false;
return true;
}
Veja também:
===============================================================
verificar numero repetido dentro do array c#
https://pt.stackoverflow.com/questions/271802/verificar-numero-repetido-dentro-do-array-c
===============================================================
Encontre elementos duplicados em uma lista em C#
https://www.techiedelight.com/pt/find-duplicate-elements-in-a-list-in-csharp/
===============================================================
Eu sabia que era possível usar o LINQ, mas NÃO sabia como... KKKKK!!!
[]'s,
Fabio I.