14 / 13 / 2
Регистрация: 16.10.2018
Сообщений: 47
1

Как без цикла инициализировать объект внутри LINQ метода

16.10.2018, 08:46. Показов 2525. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проблема в том , что я хочу без лишних телодвижений получить объект над которым работает LINQ без прерывания самого действия.

Допустим
C#
1
var list = _data.Cast<KakoitoType>().ToList();
И вдруг появляется потребность получать индекс каждого элемента при работе Cast. Да и вообще вдруг захотелось получить сотый элемент последовательности .
Понятно дело можно в 3 строчки получать индекс , но приходиться использовать циклы , чего хотелось бы избежать .

Есть у кого то предположения о реализации ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2018, 08:46
Ответы с готовыми решениями:

Объект внутри объекта / метод внутри метода
Салам, братва. Я вроде как новичок в ООП... Не подскажите, что это такое в плане конструкции и где...

linq без цикла foreach
выбираю хмл через линк и я знаю что всегда будет массив с одним индексом т.е цикл будет...

Linq без цикла foreach
вот пример var linq = from t in configFile.Elements(&quot;account&quot;).Count() ...

Инициализировать объект obj таким классом, чтобы метод main выполнился без ошибок
Здравствуйте!Как решить эту задачу /*Инициализировать объект obj таким классом, чтобы метод main...

4
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
16.10.2018, 22:15 2
Цитата Сообщение от NotGoodProgram Посмотреть сообщение
но приходиться использовать циклы , чего хотелось бы избежать .
Там под капотом те же циклы, так что не переживайте — делайте обычный foreach вместо того, чтобы городить огороды.
0
14 / 13 / 2
Регистрация: 16.10.2018
Сообщений: 47
17.10.2018, 13:44  [ТС] 3
Цитата Сообщение от kolorotur Посмотреть сообщение
Там под капотом те же циклы, так что не переживайте — делайте обычный foreach вместо того, чтобы городить огороды.
это и так понятно что под капотом есть . Но я спрашиваю это сугубо из интереса .
0
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
17.10.2018, 14:06 4
Цитата Сообщение от NotGoodProgram Посмотреть сообщение
я спрашиваю это сугубо из интереса .
Можно, наверное, как-то извернуться через select и изменение локальной, что в принципе не стоит делать.
Но любой изворот с Linq будет менее читаем, чем обычный форич.

Можете цикл вынести в отдельный метод-расширение и вызывать этот метод. Будет тот же Linq, а цикл превратится в "подкапот".
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
18.10.2018, 03:46 5
Цитата Сообщение от NotGoodProgram Посмотреть сообщение
var list = _data.Cast<KakoitoType>().ToList();
Вот так можно
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Program
    {
        static void Main(string[] args)
        {
            var elements = new List<Element> {
                new Element { Id = 1 }
            };
 
            var query = elements.Where(e => e.Id == 1).Select((e, idx) => {
                e.Field = e.Id.ToString();
                return e; });
 
            var query2 = from i in elements
                         select new Func<Element>(() => {
                             i.Field = i.Id.ToString();
                             return i;
                         }).Invoke();
 
            var newElements1 = query.ToList();
            var newElements2 = query2.ToList();
        }
    }
 
    public class Element
    {
        public int Id { get; set; }
        public string Field { get; set; }
    }
0
18.10.2018, 03:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2018, 03:46
Помогаю со студенческими работами здесь

Как мне внутри цикла можно узнать имя файла БЕЗ пути к нему?
Помогите, пожалуйста. Есть такая структурка: foreach (&lt;$somepath/*.ext&gt;) { ... }...

Как инициализировать объект
Здравствуйте Не сталкивался раньше с ооп. Я создал класс: Файл Cars (класс): Public model...

Как инициализировать this внутри класса
Доброго времени суток. Подскажите пожалуйста, как решить данную проблему. struct Test { void...

Прервать выполнение конструкции без выхода из метода\цикла
Добрый день. Не могу понять как сделать следующее... int x = 0; while (x &lt; 10){ x++; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru