|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
Доброго дня! нарисовал класс: public class Req_shipment { public class Req_Item { public int itemIndex; public string offerId; }; public int shipmentId; public List<Req_Item> items; }; Создал переменную (req_item) и список таких же элементов (req_items) : Код: c# 1. 2.
Делаю запрос к бд, получаю рекордсет. Последовательно читаю записи во временную переменную. И из неё пытаюсь наращивать список: Код: c# 1. 2. 3. 4. 5. 6. 7.
На выходе имею список req_items, где все строки идентичны (идентичны последнему считанному значению в элементы req_item. Как сделать так что бы список наполнялся уникальными строками? Если обойтись без req_item то как? Это,.... Читал про статистические и ссылочные типы. Не понял. -------------------------- No ROM Basic... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 15:56 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
Похоже на шизофазию, все в кучу, переходы из одной темы в другую, при этом ничего не понятно. При чем тут значимые и ссылочные типы? Оформите сообщение нормально и продумайте свой вопрос, опишите, что у вас не получается, пока я вижу, что вы знаете какие то термины, но не понимаете, что они обозначают. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:06 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3.
покажите как вы получаете из БД результат и какого он типа ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:11 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
Нарисуй для начала класс нормально. В смысле здесь. Неужто ты думаешь кто-то будет разбирать твой неформатированный текст. И оформи вообще код по-человечески - глазам ведь больно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:12 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
чтоб строки не повторялись используйте не List<T>, а HashSet<T>, а еще лучше сделайте запрос в базе, пусть она сама фильтрует записи повторяющиеся ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:16 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
Konst_One Код: c# 1. 2. 3.
покажите как вы получаете из БД результат и какого он типа sqlCommand.CommandText = "SELECT ... FROM ... where .... "; var sqlResult = sqlCommand.ExecuteReader(); все возвращаемые значения - string (так проще, не смотря на необходимость последующего преобразования, например, в int32) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:17 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
SIMPLicity_, чем проще то? натуральное число 12345678 в памяти занимает 4 байта, а строка 16 байт. А это значит, что накладные расходы на передачу и чтение возрастают. а если взять вещественные числа (double, decimal) ты можно при таком подходе хапнуть таких проблем, что мало и просто не покажется, будите потом локти кусать и переписывать свой г..о код с нуля, так как выглядит он довольно монолитно ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:21 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
fkthat Нарисуй для начала класс нормально. В смысле здесь. Неужто ты думаешь кто-то будет разбирать твой неформатированный текст. И оформи вообще код по-человечески - глазам ведь больно. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
так норм? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:23 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
SIMPLicity_, В консоль нормально вывод? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:25 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
Roman MejtesSIMPLicity_, чем проще то? натуральное число 12345678 в памяти занимает 4 байта, а строка 16 байт. А это значит, что накладные расходы на передачу и чтение возрастают. а если взять вещественные числа (double, decimal) ты можно при таком подходе хапнуть таких проблем, что мало и просто не покажется, будите потом локти кусать и переписывать свой г..о код с нуля, так как выглядит он довольно монолитно В данной ситуации это несущественно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:28 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
SIMPLicity_Как сделать так что бы список наполнялся уникальными строками? При считывании каждой новой строки создавать новый Req_shipment.Req_Item . А сейчас вы его один раз создали и перетираете ему itemIndex и offerId. Плюс добавляете его N раз в список. В итоге у вас элементы списка N раз ссылаются на один и тот же req_item. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:29 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
Конечно они у тебя идентичны. Ты ведь туда один и тот же объект пихаешь. Букварь в руки и учи, что такое reference types. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:30 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
Petro123SIMPLicity_, В консоль нормально вывод? Консоль показывает ТЕКУЩЕЕ состояние переменной. Проблема в том, что каждый элемент списка req_items ссылается (ссылается!) на переменную req_item. То есть все элементы списка req_items это всего лишь отсылки к переменной req_item ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:31 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
SIMPLicity_, Код: c# 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:32 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
SIMPLicity_, У тебя реально работает только List<Req_Item> ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:32 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
fkthatКонечно они у тебя идентичны. Ты ведь туда один и тот же объект пихаешь. Букварь в руки и учи, что такое reference types. Об этом и был вопрос! Как это исправить? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:32 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
SIMPLicity_Petro123SIMPLicity_, В консоль нормально вывод? Консоль показывает ТЕКУЩЕЕ состояние переменной. Проблема в том, что каждый элемент списка req_items ссылается (ссылается!) на переменную req_item. То есть все элементы списка req_items это всего лишь отсылки к переменной req_item Если вы хотите, чтобы элементы списка ссылались на разные объекты, то надо бы создать эти самые разные объекты. Они сами по себе не появятся, логично? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:34 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
SIMPLicity_Консоль показывает ТЕКУЩЕЕ состояние переменной.a я это и спрашиваю. Чтобы базу исключить. Нафига тут бд вообще? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:34 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
SIMPLicity_fkthatКонечно они у тебя идентичны. Ты ведь туда один и тот же объект пихаешь. Букварь в руки и учи, что такое reference types. Об этом и был вопрос! Как это исправить? Выше смотри: 21875709 . ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:34 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
SIMPLicity_fkthatКонечно они у тебя идентичны. Ты ведь туда один и тот же объект пихаешь. Букварь в руки и учи, что такое reference types. Об этом и был вопрос! Как это исправить? Написали выше - создавать каждый раз новый объект, заполнять его данными, и его уже добавлять в список. Тогда все объекты в списке будут разные и каждый со своими данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:35 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
skyANASIMPLicity_, Код: c# 1. 2. 3. 4. 5. 6.
Супер! Спасибо огромное! После доработки и докрутки заработало на раз. PS Остальные - просто напыщенные снобы... Тему можно закрывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:39 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
SIMPLicity_PS Остальные - просто напыщенные снобы... мы в шоке от твоего Г. кода. Приходи еще). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:43 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
SIMPLicity_skyANASIMPLicity_, Код: c# 1. 2. 3. 4. 5. 6.
Супер! Спасибо огромное! После доработки и докрутки заработало на раз. PS Остальные - просто напыщенные снобы... Тему можно закрывать. PS Всё равно ни хрена не понял. Я полагал что <list>.Add(<smthng>) будет сначала создавать новый элемент списка list и наполнять его (свежесозданный элемент) из переменной smthng. Но, похоже, он просто докидывал в list ссылку на smthng ... Ещё раз - Спасибо! А вот на metanit найти разъяснения, увы, так и не смог... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:51 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
Petro123SIMPLicity_PS Остальные - просто напыщенные снобы... мы в шоке от твоего Г. кода. Приходи еще). Да, от закрытия ПТ скуль много потерял. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 16:54 |
|
есть список в списке. Наполняется одинаковыми значениями. Как уйти от ссылок к значениям?
|
|||
---|---|---|---|
#18+
SIMPLicity_Всё равно ни хрена не понял. Я полагал что <list>.Add(<smthng>) будет сначала создавать новый элемент списка list и наполнять его (свежесозданный элемент) из переменной smthng. Почему-то новички всё время выдумывают поведение, вместо того, чтобы читать книги и документацию. В последней чёрным по белому написано, что метод тупо добавляет элемент в конец списка. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 17:10 |
|
|
start [/forum/topic.php?fid=20&msg=39808392&tid=1398962]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
131ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 258ms |
total: | 500ms |
0 / 0 |