Здравствуйте,
В каких случая лучше использовать `in`?
Напр. есть класс:
public static class CipherUtility
{
public static string Encrypt<T>(in string value, in string password, in string salt)
{
..
return str;
}
public static string Decrypt<T>(this string text, string password, string salt)
{
..
return str;
}
}
Если использовать `in` — экономится память при передачи строк в методы и трата CPU на лишнее копирование,
особенно если входящий параметр — очень большая строка.
Но с другой стороны, без `in` вызов метода `Decrypt` в длинной цепочке вызовов будет выглядеть более читаемым/эстетичным:
"some_str".SomeOtherMethod().Decrypt<object>("pass","salt").SomeOtherMethod2()...
И нет опасности, что в каком-нибудь другом потоке value/password/salt поменяются пока будет выполнятся метод `Encrypt`