|
ref и out параметры
|
|||
---|---|---|---|
#18+
Ролг Хупинgoto бояться - в лес не ходить! это лучшее, что есть в разных языках Если использовать кодогенерацию, то goto самый то. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 09:53 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
ЕвгенийВкодогенерациютоже пребор. Но ставлю имхо) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 10:02 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
Shocker.ProAntonariyкортежи пока не используем, потому что сидим на 4м фреймворке.4-й фреймворк никак не мешает использованию кортежей. Вот буквально недавно Випросу пример приводилИспользовать класс Tuple можно, но синтаксические кортежи не работают, они требуют поддержки какими-то другими классами, которых в 4м нет. Можно использовать какое-то дополнение, но не хочется, в обозримом будущем переедем на фреймворк поновее. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 10:59 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
автор сидим на 4м фреймворке.к тому же на client profile ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 11:01 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
Antonariy, нужно только выбрать соответствующую версию языка ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 11:58 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
AntonariyИспользовать класс Tuple можно, но синтаксические кортежи не работают, они требуют поддержки какими-то другими классами, которых в 4м нет.Этот класс ValueTuple - его нет и в других фреймворках, не только в 4-м. При этом он прекрасно совместим и ставится из нугета, причем практически автоматом, как только начинаешь использовать именованные кортежи Antonariyно синтаксические кортежи не работаютя ж даже скриншот привел, что работаютAntonariyк тому же на client profileда пофиг. Этот, как я сказал, отдельный класс и синтаксис языка. К фреймворку не имеет отношения. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 16:59 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
Shocker.Pro, В общем-то, туплы (которые с красивым синтаксисом) появились в C# 7, а его в старом фреймворке может и не быть (он, емнип, шел с минимум 4.6). Другое дело, что можно спокойно поставить новый фреймворк с ним, а собирать им для старого фреймворка (поставить в свойствах проекта Target Framework). Есть правда с этим засада при работе в команде - у кого-нибудь некрофила может проект с вашим кодом не собраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 18:09 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
Shocker.Pro, Я имею в виду, не класс Tuple<T1, T2> и подобные, а поддержку конструкций типа Код: c# 1.
(она на самом деле именно в Tuple<string, string> компилятором и преобразуется) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 18:15 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
fkthatВ общем-то, туплы (которые с красивым синтаксисом) появились в C# 7, а его в старом фреймворке может и не быть....Я имею в виду, не класс Tuple<T1, T2> и подобные, а поддержку конструкций типа мля, я же внятно сказал ValueTuple. И ссылку дал: 21857815 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 18:39 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
fkthat(она на самом деле именно в Tuple<string, string> компилятором и преобразуется)нет ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 18:39 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
Shocker.ProfkthatВ общем-то, туплы (которые с красивым синтаксисом) появились в C# 7, а его в старом фреймворке может и не быть....Я имею в виду, не класс Tuple<T1, T2> и подобные, а поддержку конструкций типа мля, я же внятно сказал ValueTuple. И ссылку дал: 21857815 Все верно. У тебя таргетфреймворк 4, а компилятор стоит уже 7-й (это в настройках билда "Advanced" можно посмотреть или изменить). А у ТС может просто компилятора достаточно нового не быть. Мы сейчас точно так же стали, например, кое-что уже под коре 2 собирать на C# 8. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 18:43 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
Shocker.Profkthat(она на самом деле именно в Tuple<string, string> компилятором и преобразуется)нетОчень важное отличие, на котором ты проколешься, раз думаешь, что именованные кортежи преобразуются в Tuple - это то, что именованный кортеж является структурой, а не классом, как Tuple. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 18:44 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
fkthatВсе верно. У тебя таргетфреймворк 4, а компилятор стоит уже 7-й (это в настройках билда "Advanced" можно посмотреть или изменить). А у ТС может просто компилятора достаточно нового не быть. Мы сейчас точно так же стали, например, кое-что уже под коре 2 собирать на C# 8.Я читаю то, что было написано и не более: Antonariyкортежи пока не используем, потому что сидим на 4м фреймворке. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 18:46 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
Shocker.Pro, Ну я ими почти не пользуюсь, т.ч. таких ньюансов не особо знаю. Но один черт, оно преобразуется в чисто библиотечный тип данных, который, как ты уже упоминал ставится под любой четвертый фреймворк пакетом. Просто с более старым компилятором придется этот тип данных использовать напрямую, а с новым можно более удобным синтаксисом писать. Вот попробуй в настройках проекта переключится на C# 6 и оно уже не соберется. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 18:50 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
fkthatПросто с более старым компилятором придется этот тип данных использовать напрямую, а с новым можно более удобным синтаксисом писать. Вот попробуй в настройках проекта переключится на C# 6 и оно уже не соберется.это ежу понятно, но речь-то не об этом ))) возможно люди ограничивают себя просто по незнанию ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2019, 19:58 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
AntonariyМой кодревьюер постоянно клюет мне моск, что использовать ref и out плохо, это слишком low level по его выражению. Я считаю, что не использовать какую-то возможность языка из идейных соображений (исключая goto, но это ограничение хорошо обосновано) - тупо. Кто что думает по этому поводу? Человеку больше заняться нечем видимо. Обоснование по типу "потому что зелёное", не нужно ему в кодревью. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2019, 14:16 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
AntonariyМой кодревьюер постоянно клюет мне моск, что использовать ref и out плохо, это слишком low level по его выражению. Я считаю, что не использовать какую-то возможность языка из идейных соображений (исключая goto, но это ограничение хорошо обосновано) - тупо. Кто что думает по этому поводу? А можно увидеть ваш метод, в котором используются out и ref параметры? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2019, 18:27 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
Arm79, Выше уже просил. Конкретику не показывают. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2019, 19:42 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
Antonariy, Вот если бы код твой ревьювер сказал бы, например, что out/ref нельзя использовать в асинхронных методах и при необходимости переделывать их на асинк будет сложно рефакторить, вот это был бы разумный довод. Опять же, ref действительно использовался в основном для поддержки работы с низкоуровневым АПИ, COM. Но это не касается out, который действительно очень полезен особенно вкупе с фичами C# 7, когда переменную можно объявить прям в out выражении. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2019, 21:30 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
hVosttВот если бы код твой ревьювер сказал бы, например, что out/ref нельзя использовать в асинхронных методах А их и так нельзя использовать. Компилятор не даст. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2019, 23:49 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
fkthathVosttВот если бы код твой ревьювер сказал бы, например, что out/ref нельзя использовать в асинхронных методах А их и так нельзя использовать. Компилятор не даст.Ты вырвал фразу из контекста. hVostt на это и намекает во второй части предложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2019, 10:03 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
hVosttНо это не касается out, который действительно очень полезен особенно вкупе с фичами C# 7, когда переменную можно объявить прям в out выражении. Мне все-таки как-то сложно придумать ему какую-то полезность, кроме паттерна "bool TryXXXX(out foo)" - кстати, это как раз и есть случай использования out-ов, на который code analysis не ругается. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2019, 10:45 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
Arm79AntonariyМой кодревьюер постоянно клюет мне моск, что использовать ref и out плохо, это слишком low level по его выражению. Я считаю, что не использовать какую-то возможность языка из идейных соображений (исключая goto, но это ограничение хорошо обосновано) - тупо. Кто что думает по этому поводу? А можно увидеть ваш метод, в котором используются out и ref параметры?А какая разница? По смыслу - TryParse. Например, метод открытия файла, возвращающий успех/неуспех и текст с путем к файлу или текст ошибки (в зависимости от успеха). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2019, 20:09 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
Ну или несколько разнородных объектов преобразовать в несколько объектов других родов. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2019, 20:13 |
|
ref и out параметры
|
|||
---|---|---|---|
#18+
Antonariyметод открытия файла, возвращающий успех/неуспех и текст с путем к файлу или текст ошибки (в зависимости от успеха). А почему не предусмотрели такой механизм в платформе? )))) именно для файлов возможно и не нужно так ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2019, 20:28 |
|
|
start [/forum/topic.php?fid=20&msg=39815244&tid=1398931]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 125ms |
0 / 0 |