#c_sharp #net #linq
Есть ли в LINQ предложение или метод, который бы не выводил повторы элементов последовательности.
Например, для последовательности 1, 2, 1, 3, 1, 4, 1, 5, 1, 6 предложение или метод
должен определить, что 1 повторяется несколько раз, и выбрать его один раз.
Main.cs:
using System;
//добавить ссылку
using System.Linq;
class Program {
public static int Main() {
//источник данных
int[] ara = new int[] { 1, 2, 1, 3, 1, 4, 1, 5, 1, 6 };
//создание запроса
var query =
from val in ara
//???
select val;
//выполнение запроса
foreach (var i in ara) {
Console.Write("{0} ", i);
}
Console.WriteLine();
Console.ReadKey();
return 0;
}
}
Результат должен быть таким: 1 2 3 4 5 6.
Ответы
Ответ 1
Просто вызвать Distinct(). Ну или извратиться с группировкой :D http://ideone.com/9xN5RX using System; using System.Linq; public class Test { public static void Main() { int[] a = new int[] {1, 2, 1, 3, 1, 4, 1, 5, 1, 6}; var b = from x in a group x by x into t select t.Key; var c = a.Distinct(); Console.WriteLine(String.Join(" ", b)); Console.WriteLine(String.Join(" ", c)); } }
Комментариев нет:
Отправить комментарий