首页 > 解决方案 > 是否有任何现有函数可以在 C# 库中获取字符串类型的 MAX 长度

问题描述

我知道在 C# 中你可以做int.MaxValuelong.MaxValue获得这两种类型的最大值,我想知道是否有类似的方法来获得字符串的最大长度。

我在这里看不到。另外,我知道已经有关于最大字符串长度的问题。C#中的最大字符串长度

我在问是否有一个现有的函数派上用场,您可以使用它来设置条件何时以及何时不截断您的字符串以避免程序崩溃。或者什么是正常的方法?

例如,也许像Max(string.length)?

标签: c#stringmax

解决方案


不。就像没有已知的方法可以找到可以分配的数组的最大长度一样。在您尝试分配内存之前,您无法知道是否有足够的虚拟地址空间和足够的物理内存来容纳它。从理论上讲,您可以VirtualAlloc(Windows API)越来越大的内存块直到它失败,解除分配块然后尝试在.NET中分配相同数量的内存,知道内存在那里所以.NET应该能够分配它。

请注意,这在 32 位时是正确的……我从未见过 64 位的内存不足错误。


推荐阅读