Я решаю, лучше ли изменить входящий параметр или вернуть большую строку. Есть ли последствия для возврата большой строки из функции C#?
Я полностью согласен, но более новая версия С#, пришедшая из С++, не вернула бы что-то такое большое, если бы это не был указатель. 300K - 5M было бы типичным. Я загружаю двоичный файл (резервную копию данных) из приложения в Xamarin.
Видишь, поэтому я и задаю такие вопросы. Ни при каких обстоятельствах вы не должны хранить большой двоичный объект в строке для его загрузки. Есть гораздо лучшие способы решить эту проблему. То, что вы здесь сделали, называется «проблемой XY». У вас есть проблема, у вас неправильное представление о том, как ее решить, и теперь вы задаете вопрос о неправильной идее. Опубликуйте вопрос о том, как лучше всего загрузить большой двоичный объект в Xamarin, если это проблема, с которой вы столкнулись!
Строки C# являются неизменяемыми и хранятся в куче, а не в стеке (точнее, это ссылочные типы, поэтому вам не нужно об этом беспокоиться).
Очень понятно - спасибо за помощь!
Возвраты почти всегда являются правильными действиями, а создание параметров с псевдонимами почти всегда является неправильным. Но давайте углубимся в ваш сценарий немного больше. Вы говорите «большая» строка, но не говорите, насколько велика для вас «большая». Тысяча символов? Сто тысяч? Миллион? Сто миллионов? Что за приложение?