У меня есть перечисляемый метод Where, как изменить его на не-linq

#c# #linq

Вопрос:

У меня есть массив чисел до 75, и я показываю его с помощью where предложения Linq. Я прошу передать код linq в не linq. Используя список ?

 playerhand = new int[75];
numbers = new int[75];

for (int i = 0; i < 75; i  )
{
    sClass.numbers[i] = i   1;
}
 

Вот мой where фрагмент кода linq. Пожалуйста, помогите мне изменить его, чтобы не использовать Linq:

 Console.WriteLine("Player Hand : ");
Console.WriteLine("{0}", string.Join(", ", sClass.playerhand.Where(x => x != 0)));
Console.WriteLine("Bingo Numbers : ");
Console.WriteLine("{0}", string.Join(", ", numbers));
 

Комментарии:

1. Здесь нет LINQ. Здесь его нет .Where .

2. @Llama Извините, я уже редактирую код.

3.@лама нет Where() as в не Any()Where() на All() ?

4. @CaiusJard Действительно.

5. @Лама Привет, у меня есть еще один вопрос. Ты здесь?

Ответ №1:

Вам нужно где-то собрать предметы. Поскольку мы не знаем, сколько предметов будет совпадать, мы должны использовать List<T> :

 List<int> values = new List<int>();
 

Затем вам нужно просмотреть каждый элемент и добавить соответствующие в список:

 for (int i = 0; i < sClass.playerhand.Length;   i)
{
    if (sClass.playerhand[i] != 0)
    {
        values.Add(sClass.playerhand[i]);
    }
}
 

Затем вы можете использовать values список вместо существующего выражения LINQ:

 Console.WriteLine("{0}", string.Join(", ", values));
 

Комментарии:

1. Это очень полезно! Спасибо!