hmoleman 0 Denunciar post Postado Julho 25, 2009 Por curiosidade fiz esse código para descobrir os numeros repetidos no Array, existe alguma forma de fazer o mesmo com o LINQ ? int[] numeros = new int[7]{8, 2, 102, 12, 52, 6, 6};// o array a ser vasculhado for (int i = 0; i < numeros.Length; i++) { for (int j = 0; j < numeros.Length ; j++) { if (numeros[i] == numeros[j] && i != j) { Console.WriteLine(numeros[i] + " é repetido"); } } } Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Julho 25, 2009 Ficou assim o meu: var result = (from n in numeros where numeros.Count(n1 => n1 == n) >= 2 select n).Distinct(); foreach (int num in result) Console.WriteLine(num + " é repetido"); Compartilhar este post Link para o post Compartilhar em outros sites
hmoleman 0 Denunciar post Postado Julho 26, 2009 Ficou assim o meu: var result = (from n in numeros where numeros.Count(n1 => n1 == n) >= 2 select n).Distinct(); foreach (int num in result) Console.WriteLine(num + " é repetido"); realmente dá certo Oenning, poderia comentar essa linha? numeros.Count(n1 => n1 == n) >= 2 obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Julho 26, 2009 Count é um método presente em todos os arrays, certo? Se você fizer apenas numeros.Count() ele vai te retornar a quantidade de números em seu array. Porem esse método possui uma sobrecarga que aceita uma lambda [1] como parâmetro. O que estou fazendo ali é contar a quantidade de números n dentro do array, e depois vejo se é maior ou igual a dois, ou seja, se o array possui mais de dois elementos n, se sim, é porque está repetido. [1] http://www.fbelmonte.com.br/BLOG/?tag=/lambda-expressions Compartilhar este post Link para o post Compartilhar em outros sites
hmoleman 0 Denunciar post Postado Julho 27, 2009 Count é um método presente em todos os arrays, certo? Se você fizer apenas numeros.Count() ele vai te retornar a quantidade de números em seu array. Porem esse método possui uma sobrecarga que aceita uma lambda [1] como parâmetro. O que estou fazendo ali é contar a quantidade de números n dentro do array, e depois vejo se é maior ou igual a dois, ou seja, se o array possui mais de dois elementos n, se sim, é porque está repetido. [1] http://www.fbelmonte.com.br/BLOG/?tag=/lambda-expressions Muito interessante Oenning, valew. Compartilhar este post Link para o post Compartilhar em outros sites