// By using LINQ public static List<IntegerNumbers> DivisibleBy21usingLINQ(IntegerNumbers[] arr) { var result = new List<IntegerNumbers>(); foreach (var item in from m in arr where m.N % 21 == 0 select m) result.Add(item); return result; }
public static void Main() { while (true) { // Creates and prints some array of integers Console.CursorVisible = false; Console.WriteLine("Array of random integers:"); var numbers = new IntegerNumbers[25]; Console.ForegroundColor = ConsoleColor.Yellow; var generator = new Random(); for (int i = 0; i < numbers.Length; i++) { numbers[i] = new IntegerNumbers(generator.Next(10, 100)); Console.Write(numbers[i].N + " "); } Console.ResetColor(); // Prints all numbers that are divisible by 7 and 3 by using Lambda and LINQ Print(IntegerNumbers.DivisibleBy21usingLambda(numbers), "Lambda"); Print(IntegerNumbers.DivisibleBy21usingLINQ(numbers), "LINQ"); Console.WriteLine("\n\n\nPress any key to stop the test..."); Thread.Sleep(500); // Stops the loop if (Console.KeyAvailable) { Console.ReadKey(false); Console.Write("\b \b"); break; } Console.Clear(); } }
// By using Lambda expressions public static List<IntegerNumbers> DivisibleBy21usingLambda(IntegerNumbers[] arr) { var result = new List<IntegerNumbers>(); foreach (var item in arr.Where(m => m.N % 21 == 0)) result.Add(item); return result; }