Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 15.08.2018
Сообщений: 127

Проблема с кортежами

13.03.2019, 19:38. Показов 1581. Ответов 9

Студворк — интернет-сервис помощи студентам
Здравствуйте. Пишу либу (в отдельном dll), инициализирую кортеж, в методе:
C#
1
2
3
4
5
public static (int num, int sum) GetInfo()
{
    var tuple = (num:10, sum:20);
    return tuple;
}
Далее, открываю основной проект, подключаю либу, начинаю юзать:
C#
1
var temp = FuncLib.GetInfo();
На что мне кидает ошибку:
C#
1
Ссылка на тип "ValueTuple<,>" требует его определения в "mscorlib", но его не удалось найти
Если же использовать такой вариант, то все хорошо...
C#
1
2
3
4
5
public static Tuple<int, int> GetInfo()
{
    var tuple = Tuple.Create(10, 20);
    return tuple;
}
Но меня не устраивает данный вариант, как минимум тем, что вместо свободных имен мне приходится использовать tuple.Item1, tuple.Item2... (вместо tuple.sum, tuple.num, да и пользователям, которые будут юзать либу, будет непонятно, что, под каким Item находится.)
Помогите решить проблему! Спасибо заранее!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.03.2019, 19:38
Ответы с готовыми решениями:

Операция с кортежами
Здравствуйте! Составляю математическое описание задачи. Читал некоторый материал и теперь хочу проконсультироваться - правильно ли я его...

Подскажите разобраться с кортежами
Здравствуйте. Подскажите как работать с кортежами, а точнее как их &quot;Связать&quot;. у меня задание &quot;создайте два кортежа: один из чисел...

Работа с кортежами и классами
Сорри, я задам наверное тупой вопрос, но очень нужна помощь. Вот у меня есть кортеж из данных MySQL, каждый срез которого состоит из: ...

9
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
13.03.2019, 19:50
Цитата Сообщение от W1nStoN Посмотреть сообщение
Помогите решить проблему!
Мне одному эта проблема кажется надуманной?
Опишите структуру с 2-мя свойствами и используйте ее, а не кортежи.
Или есть необходимость именно в Tuple?
2
1 / 1 / 0
Регистрация: 15.08.2018
Сообщений: 127
13.03.2019, 20:53  [ТС]
Даценд, да нет, необходимости использовать Tuple, как таковой, нет. Изначально я и строил все на структуре, но решил попробовать кортежи.
P.S. Но мне хотелось бы знать, с чем связана данная проблема, и, как ее решить, если Вас не затруднит, объясните, пожалуйста!
Благодарю за ответ!

Добавлено через 41 минуту
Подумал, что использовать структуру, на 13 свойств, будет, все-таки, не так удобно, как кортеж.
0
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
13.03.2019, 20:54
Цитата Сообщение от W1nStoN Посмотреть сообщение
использовать структуру, на 13 свойств будет, все-таки не так удобнее, как кортеж
Думаю, что как раз-таки наоборот. К тому же кортежи могут содержать максимум 8 элементов
1
1 / 1 / 0
Регистрация: 15.08.2018
Сообщений: 127
13.03.2019, 21:07  [ТС]
Ellizio, Да вопрос не в этом, я перейду на структуру, только потому что, добавил еще 5 свойств, Вы верно подметили, насчет 8 элементов... Вопрос в том, что, если, вдруг, в дальнейшем мне понадобится использовать кортежи, я столкнусь с этой же ошибкой, так и не решив ее сейчас...
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
13.03.2019, 21:15
Какой Target Framework у библиотеки и у проекта к которому вы подключаете библиотеку? Используется ли nuget пакет System.ValueTuple?

Цитата Сообщение от Ellizio Посмотреть сообщение
К тому же кортежи могут содержать максимум 8 элементов
Я бы не был в этом так уверен.
1
1 / 1 / 0
Регистрация: 15.08.2018
Сообщений: 127
13.03.2019, 21:35  [ТС]
Посмотрел, действительно, расхождение во Framework, использовал в консольном приложении, а там .NET Core 2.1, когда у "либы" - .NET Framework 4.7.2, использовать планировал, все равно на WinForms, так что, проблем не будет.
Отсюда вопрос, получается, что на консольных они не будут поддерживаться?
P.S Nuget-пакет не используется.

Добавлено через 2 минуты
Все, "нашарил", что работать не будет на консольке, а "мультитаргета" нет - жалко...
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
13.03.2019, 21:36
Чтобы использовать либу в консольном .NET Core приложении, нужно чтобы она была либо тоже .NET Core, либо .NET Standard. Либы, собранные под .NET Framework с .NET Core не работают (и наоборот).

Цитата Сообщение от W1nStoN Посмотреть сообщение
а "мультитаргета" нет
Как нету? Есть же...
0
1 / 1 / 0
Регистрация: 15.08.2018
Сообщений: 127
13.03.2019, 21:39  [ТС]
Someone007, дак, он же на .Net standard + .Net Core, я не прав?
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
13.03.2019, 21:57
Цитата Сообщение от W1nStoN Посмотреть сообщение
дак, он же на .Net standard + .Net Core, я не прав?
Вы можете скомпилить .NET Standard либу как под .NET Standard (можно будет подключать как к .NET Core, так и к .NET Framework проектам), так и под .NET Framework используя мульти таргетинг.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2019, 21:57
Помогаю со студенческими работами здесь

Как работать с кортежами в C# 7?
может вы подскажете как работать с кортежами в visual 2017, добавила тип System.ValueTuple и ничего не работает

Задача с кортежами и словарями
Привет, Не могу сообразить как реализовать программу. Задача &quot;Трекер задач&quot;: Есть программисты, у которых есть программы, которые...

Выковыривание данных из MySQL и работа с кортежами
В базе MySQL есть некоторые данные. &gt;&gt;&gt;import mysql.connector &gt;&gt;&gt;#подключение &gt;&gt;&gt;mydb = mysql.connector.connect( &gt;&gt;&gt; ...

Необходимо вывести 3 любые карты (разного достоинства и разной масти) по данному списку с кортежами
Необходимо вывести 3 любые карты (разного достоинства и разной масти) по данному списку с кортежами: karta = Мучаюсь уже неделю,...

проблема при работе с китайским J-LINK 8 или же проблема с с
Всем привет. Решил Сам собрать себе дисковери кит на базе at91sam7s64-ek. Подарили мне китайский J-Link 8 c прошивкой 3.20. Недолго...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru