字符串变量字符限制

时间:2012-06-30 04:59:05

标签: c# string variables

My String变量只存储4096个字符,我需要存储更多,我该如何实现?

以下是我想要做的事情

ServiceController[] myServices = ServiceController.GetServices();
String ServiceList = "";

foreach (ServiceController service in myServices)
{

      ServiceList += service.DisplayName + "|||";

} 
return ServiceList;

当返回变量时,它只存储4096个字符,其余部分被剪掉。

P.S。我在一个变量中需要它们,因为我正在从它们中创建一个URL并传递给我的web服务。

4 个答案:

答案 0 :(得分:4)

  

我在一个变量中需要它们,因为我正在从它们中创建一个URL并传递给我的web服务。

不,不要那样做!

4096个字符的网址是一个非常糟糕的主意,并不能保证可以正常工作。

  

极长的网址通常是个错误。超过2,000个字符的网址在最受欢迎的网络浏览器中无效。如果您希望您的网站为大多数互联网用户工作,请不要使用它们。

(source)

制作包含ID的缩短网址。将其余信息存储在数据库中,并以短ID作为密钥。

相关

答案 1 :(得分:3)

.NET字符串长度限制为20亿个字符。

浏览器对他们接受的URL的长度有限制,并且浏览器实现的长度限制也不同。 IE的限制通常是最短的,上次我在IE6时代检查时大约为2k。 Firefox和Chrome相比要高得多,但仍有限制。

答案 2 :(得分:0)

C#中的字符串大约有2Gig限制。所以你的字符串变量没有问题

答案 3 :(得分:0)

您的问题在其他地方 - 但是无法可靠地使用超过2000个字符的网址,您将完全需要另一种方法 - 请参阅此SO答案:What is the maximum length of a URL?

(同样用于构建大字符串使用StringBuilder代替)