Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从C#函数返回一个大字符串可以吗?返回的值最终会出现在调用堆栈上吗?_C#_String_Callstack - Fatal编程技术网

从C#函数返回一个大字符串可以吗?返回的值最终会出现在调用堆栈上吗?

从C#函数返回一个大字符串可以吗?返回的值最终会出现在调用堆栈上吗?,c#,string,callstack,C#,String,Callstack,我正在决定是修改传入参数还是返回一个大字符串更好。从C#函数返回一个大字符串有什么影响吗?C#字符串是不可变的,并且存储在堆中,而不是堆栈中(更准确地说,它们是引用类型,所以您不必担心)。非常清楚-感谢您的帮助!返回几乎总是正确的,而生成别名参数几乎总是错误的。但让我们更深入地了解一下您的场景。你说一个“大”字符串,但你没有说“大”对你来说有多大。一千字?十万?一百万?一亿?什么是应用程序?我完全同意,但是C语言的更新是C++的,除非它是指针,否则它不会返回大的。300K-5M为典型。我正在从X

我正在决定是修改传入参数还是返回一个大字符串更好。从C#函数返回一个大字符串有什么影响吗?

C#字符串是不可变的,并且存储在堆中,而不是堆栈中(更准确地说,它们是引用类型,所以您不必担心)。

非常清楚-感谢您的帮助!返回几乎总是正确的,而生成别名参数几乎总是错误的。但让我们更深入地了解一下您的场景。你说一个“大”字符串,但你没有说“大”对你来说有多大。一千字?十万?一百万?一亿?什么是应用程序?我完全同意,但是C语言的更新是C++的,除非它是指针,否则它不会返回大的。300K-5M为典型。我正在从Xamarin的一个应用程序上传一个二进制文件(数据备份)。看,这就是为什么我问这样的问题。在任何情况下,您都不应该将一个大的二进制blob存储在一个字符串中以供上传。有更好的方法来解决这个问题。你在这里所做的被称为“XY问题”。你有一个问题,你对如何解决它有一个错误的想法,现在你问了一个关于错误想法的问题。发布一个问题,询问在Xamarin中上传大型二进制blob的最佳方式是什么,如果这是您面临的问题!