using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace ArrayFilter {
public partial class MainForm : Form {
public MainForm() {
InitializeComponent();
}
private void FilterButton_Click(object sender, EventArgs e) {
// Получаем значения из текстовых полей
string[] originalArrayStrings = OriginalArrayTextBox.Text.Split(' ');
string[] filterArrayStrings = FilterArrayTextBox.Text.Split(' ');
// Преобразуем строки в целые числа
int[] originalArray = Array.ConvertAll(originalArrayStrings, int.Parse);
int[] filterArray = Array.ConvertAll(filterArrayStrings, int.Parse);
// Фильтруем массив
int[] resultArray = FilterArray(originalArray, filterArray);
// Выводим результат на экран
ResultLabel.Text = "Результат работы метода:\n" + String.Join(" ", resultArray);
}
public static int[] FilterArray(int[] originalArray, int[] filterArray) {
// Создаем новый список для хранения элементов оригинального массива, которых нет в массиве для фильтрации
List resultList = new List();
// Проходим по всем элементам оригинального массива
foreach (int num in originalArray) {
// Если элемента нет в массиве для фильтрации, добавляем его в список
if (!filterArray.Contains(num)) {
resultList.Add(num);
}
}
// Возвращаем результат в виде массива
return resultList.ToArray();
}
}
}
В этом примере мы создаем главную форму MainForm, содержащую текстовые поля для ввода оригинального массива и массива для фильтрации, кнопку "Фильтровать" и метку ResultLabel для вывода результата. При нажатии на кнопку "Фильтровать" вызывается метод FilterButton_Click(), который получает значения из текстовых полей, преобразует их в целые числа и вызывает метод FilterArray() для фильтрации массива. Затем результат выводится на экран в метке ResultLabel.
C#
Помогите сделать фильтрацию массива в С#
Calil Axmedov
спасибо вы мне очень помогли
Calil Axmedov
я немного переделала ваш код и отправляю его для тех "несчастных" кто мучается так же как и я )))) ВСЕ РАБОТАЕТ!!!!


В данной задаче:
От тебя требовалось написать единственныю строку:
//Напишите метод, фильтрующий массив на основании переданных параметров.Метод принимает параметры:
//оригинальный_массив, массив_с_данными_для_фильтрации.
//Метод возвращает оригинальный массив без элементов, которые есть в массиве для фильтрации.
От тебя требовалось написать единственныю строку:
static T[] FilterOut(T[] InitialArray, T[] FilterOutArray) where T : IEquatable => InitialArray.Where(x => !FilterOutArray.Contains(x)).ToArray();
Программа, если вдруг тебе хочется этот метод проверить, тоже состоит из единственной строки, а не всего того ужаса, который ты там наворотила: Console.WriteLine(FilterOut(new int[] { 1, 2, 6, -1, 88, 7, 6 }, new int[] { 6, 88, 7 }).Aggregate(string.Empty, (x, y) => x += y.ToString() + " "));
Calil Axmedov
спасибо. я только учусь. )))
Для фильтрации массива в С# можно использовать методы LINQ.
Пример фильтрации массива строк по заданному условию:
```csharp
string[] words = { "apple", "banana", "cherry", "date", "elderberry", "fig" };
string[] filteredWords = words.Where(w => w.Length > 5).ToArray();
// Результат: {"banana", "cherry", "elderberry"}
```
В этом примере мы создаем массив строк и фильтруем его, оставляя только те строки, которые имеют длину больше 5 символов.
Метод `Where` принимает лямбда-выражение, которое определяет условие фильтрации. В данном случае мы используем `w => w.Length > 5`, что означает "выбрать только те элементы, у которых длина больше 5".
После фильтрации мы вызываем метод `ToArray`, чтобы преобразовать отфильтрованные результаты обратно в массив.
Пример фильтрации массива строк по заданному условию:
```csharp
string[] words = { "apple", "banana", "cherry", "date", "elderberry", "fig" };
string[] filteredWords = words.Where(w => w.Length > 5).ToArray();
// Результат: {"banana", "cherry", "elderberry"}
```
В этом примере мы создаем массив строк и фильтруем его, оставляя только те строки, которые имеют длину больше 5 символов.
Метод `Where` принимает лямбда-выражение, которое определяет условие фильтрации. В данном случае мы используем `w => w.Length > 5`, что означает "выбрать только те элементы, у которых длина больше 5".
После фильтрации мы вызываем метод `ToArray`, чтобы преобразовать отфильтрованные результаты обратно в массив.
Calil Axmedov
Вот мой код https://pastebin.com/CxXzz7DL посмотрите пожалуйста
Конечно, вот пример кода для фильтрации массива в C# по определенному условию:
```csharp
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] evenNumbers = numbers.Where(n => n % 2 == 0).ToArray();
```
В этом примере мы создали массив из чисел от 1 до 10, а затем использовали метод `Where` для выбора только четных чисел. Результатом будет новый массив `evenNumbers`, содержащий только 2, 4, 6, 8 и 10.
Также, можно использовать другие методы LINQ для фильтрации массивов в C#. Например:
```csharp
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] smallNumbers = numbers.TakeWhile(n => n <= 5).ToArray();
```
В этом примере метод `TakeWhile` выберет только первые 5 элементов массива `numbers`, так как они меньше или равны 5. Результатом будет новый массив `smallNumbers`, содержащий только 1, 2, 3, 4 и 5.
```csharp
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] evenNumbers = numbers.Where(n => n % 2 == 0).ToArray();
```
В этом примере мы создали массив из чисел от 1 до 10, а затем использовали метод `Where` для выбора только четных чисел. Результатом будет новый массив `evenNumbers`, содержащий только 2, 4, 6, 8 и 10.
Также, можно использовать другие методы LINQ для фильтрации массивов в C#. Например:
```csharp
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] smallNumbers = numbers.TakeWhile(n => n <= 5).ToArray();
```
В этом примере метод `TakeWhile` выберет только первые 5 элементов массива `numbers`, так как они меньше или равны 5. Результатом будет новый массив `smallNumbers`, содержащий только 1, 2, 3, 4 и 5.
Calil Axmedov
Вот мой код https://pastebin.com/CxXzz7DL посмотрите пожалуйста
Calil Axmedov
спасибо
Похожие вопросы
- C# Помогите сделать корректный вывод
- Помогите написать программу с массивом на C#
- Массивы. Помогите в долгу не останусь
- C# Массив структур.Конструктор .Доступ к отдельным элементам массива в массиве структур.
- Задача с массивами на С#. Я Создала массив, но он просто выводит повторно то, что я ввела. Как это можно решить?
- Задача массивы c# , прошу помощи...
- C#. Задание с двумерным массивом.
- Как можно найти одинаковые элементы массива? С#
- Задача на массивы
- Массивы, и вывод.