powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Замена элемента в IOrderedEnumerable?
7 сообщений из 7, страница 1 из 1
Замена элемента в IOrderedEnumerable?
    #39264415
sanekoffice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
List<int> source = new List<int> { 3, 2, 1, 4, 5 };
IOrderedEnumerable<int> sourceOrdered = source.OrderBy(x => x);
source.ToList()[1] = 6;


В итоге цифры 6 как не было так и нет :(
Здесь только подмена в source поможет?
...
Рейтинг: 0 / 0
Замена элемента в IOrderedEnumerable?
    #39264429
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanekoffice
Код: c#
1.
source.ToList()[1] = 6;



Если что, этот код аналогичен:

Код: c#
1.
2.
var anonymousVariable = source.ToList();
anonymousVariable[1] = 6



С чего бы вдруг это повлияло на source??
...
Рейтинг: 0 / 0
Замена элемента в IOrderedEnumerable?
    #39264432
sanekoffice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
Опечатался...
Изначально я хотел поменять в sourceOrdered.
Вот после нижепредставленного кода цифры 6 в отсортированной нет

Код: c#
1.
2.
3.
List<int> source = new List<int> { 3, 2, 1, 4, 5 };
IOrderedEnumerable<int> sourceOrdered = source.OrderBy(x => x);
sourceOrdered .ToList()[1] = 6;
...
Рейтинг: 0 / 0
Замена элемента в IOrderedEnumerable?
    #39264434
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanekoffice
Код: c#
1.
2.
3.
List<int> source = new List<int> { 3, 2, 1, 4, 5 };
IOrderedEnumerable<int> sourceOrdered = source.OrderBy(x => x);
source.ToList()[1] = 6;


В итоге цифры 6 как не было так и нет :(
Здесь только подмена в source поможет?
А где Вы хотите, чтобы цифра 6 появилась? В sourceOrdered?
...
Рейтинг: 0 / 0
Замена элемента в IOrderedEnumerable?
    #39264437
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanekoffice, вызывая метод .ToList() Вы создаёте новый экземпляр класса List<int>, новый список.
Среди его элементов и появляется цифра 6.
...
Рейтинг: 0 / 0
Замена элемента в IOrderedEnumerable?
    #39264439
sanekoffice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAsanekoffice, вызывая метод .ToList() Вы создаёте новый экземпляр класса List<int>, новый список.
Среди его элементов и появляется цифра 6.

Все понял. Спасибо
...
Рейтинг: 0 / 0
Замена элемента в IOrderedEnumerable?
    #39264442
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanekoffice, также отмечу, что можно обойтись и без Linq:

Код: 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.
using System;
using System.Collections.Generic;

namespace SortedList
{
    class Program
    {
        static void Main(string[] args)
        {
            var source = new List<int> { 3, 2, 1, 4, 5 };

            source.Sort();
            source[1] = 6;

            Console.WriteLine("Count = {0}", source.Count);

            for (int i = 0; i < source.Count; i++)
            {
                Console.WriteLine("    [{0}]: {1}", i, source[i]);
            }

            Console.ReadKey();
        }
    }
}
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Замена элемента в IOrderedEnumerable?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]