Size: a a a

2021 February 11

SB

S B in pro.net
Vasily Shapenko
Илья продолжает понемногу гнуть свою линию
насчет?
источник

IC

Ilya Chernoudov in pro.net
Vasily Shapenko
Илья продолжает понемногу гнуть свою линию
раздражать Василия?
источник

VS

Vasily Shapenko in pro.net
Я не могу отказать человеку в собственном видении картины мира
источник

А

Антон in pro.net
Andrew Voisovych
Когда ты передаешь какую-то переменную через out, ты передаешь ссылку на значение, а не само значение.  Если ты меняешь значение которое по ссылке, то оно меняется везде где используется эта переменная в коде.  Поэтому не нужно ничего возвращать, у тебя уже все готово.
public static void Main(string[] args)
       {
           string statement = "GARRRRR";
           statement = Whisper(statement, out bool marker);
           Console.WriteLine(statement);
           Console.WriteLine(marker);
       }

       static string Whisper(string a, out bool b)
       {
           b = true;
           return a.ToLower();
       }
   }
источник

А

Антон in pro.net
возможно так будет проще
источник

А

Антон in pro.net
зачем я передаю булево? что это даст?
источник

SB

S B in pro.net
вот ты копируешь в данном случае не булеан (1 байт), а ссылку на булеан (4 или 8 байт)
источник

SB

S B in pro.net
потому что ключевое слово out
источник

SB

S B in pro.net
и поэтому внутри метода ты меняешь тот же самый булеан, а не копию
источник

А

Антон in pro.net
может быть когда то false?
источник

А

Антон in pro.net
только если я в самом методе поменяю?
источник

SB

S B in pro.net
t = false напиши и будет
источник

А

Антон in pro.net
да я относительно возможных вариантов развития событий =)
источник

А

Антон in pro.net
получается то, что я в метода задал, для того чтобы в дальнейшем передавать как ссылку, то я так и буду передавать строго это значение
источник

SB

S B in pro.net
это эквивалентнно примерно такому псевдокоду: 1) аллоцировать память под булеан (1 байт), 2) взять ссылку на этот булеан (4 или 8 байт в зависимости от железа), 3) передать ссылку дальше в метод, 4) сходить по этой ссылке и получить исходный булеаен, 5) поменять его
источник

А

Антон in pro.net
получается я мог просто написать true и не заморачиваться с ссылками
источник

SB

S B in pro.net
не, тут паттерн другой. предполагается что ты вызываешь мето, который мог бы и не сработать. и тебе надо знать сработал оно или нет.
источник

SB

S B in pro.net
для этого тебе два значения вернуть надо. 0 если не сработал, 1 если сработал и результат обработки
источник

А

Антон in pro.net
так он возвращает 2 значения, по тому что он вернул первое я не пойму что он отработал?
источник

T

Tako in pro.net
мне кажется что лучше эту тему парню пока что скипнуть,со временем все в голове настоится и поймет.А то я щас могу сказать что ref можно использовать и с референс типами(и оно действительно надо) и парня поломаю
источник