相关疑难解决方法(0)

如何知道字符串的大小(以字节为单位)?

我想知道我是否能知道stringC#中的字节有多长,有谁知道?

.net c# string size byte

88
推荐指数
4
解决办法
12万
查看次数

在CLR 4.0中,单个对象的大小仍然限制为2 GB?

据我所知,.NET中的单个实例有2 GB的限制.我没有太多关注,因为到目前为止我主要使用32位操作系统.在32但它或多或少是一个人为的限制.但是,我很惊讶地发现这个限制也适用于64位.NET.

由于诸如List<T>使用数组来存储项目之类的集合,这意味着与在64位上运行的相同应用程序相比,在32位上运行的.NET应用程序将能够在列表中保存两倍的引用类型项.这非常令人惊讶.

有谁知道这个限制是否在CLR 4.0中得到解决(目前我手头没有安装4.0).

.net memory clr4.0

39
推荐指数
3
解决办法
2万
查看次数

为什么byte []的最大大小为2 GB - 57 B?

在我的64位机器上,这个C#代码有效:

new byte[2L * 1024 * 1024 * 1024 - 57]
Run Code Online (Sandbox Code Playgroud)

但是这个抛出一个OutOfMemoryException:

new byte[2L * 1024 * 1024 * 1024 - 56]
Run Code Online (Sandbox Code Playgroud)

为什么?

我知道托管对象的最大大小是2 GB,我正在创建的数组对象包含的内容超过了我想要的字节数.也就是说,同步块编号有4个字节(或8?),MethodTable参考有8个字节,数组大小有4个字节.这是24个字节,包括填充,所以为什么我不能分配一个2G-24字节的数组?最大尺寸真的 2 GB吗?如果是这样的话,2 GB的剩余部分用于什么?

注意:我实际上不需要分配一个包含200万字节的数组.即使我这样做,56个字节的开销可以忽略不计.我可以使用自定义轻松解决限制BigArray<T>.

.net arrays limits

28
推荐指数
1
解决办法
6469
查看次数

7
推荐指数
1
解决办法
4万
查看次数

TextBox最大字符数(不是MaxLength)

我正在使用System.Windows.Forms.TextBox.根据文档,MaxLength属性控制进入用户可以键入或粘贴到TextBox中的字符数量(即,可以通过使用例如AppendText函数或Text属性以编程方式添加更多字符).当前的字符数量可以从TextLength酒店获得.

  1. 有没有办法设置最大字符数而不设置自定义限制器,Clear()当达到自定义限制时调用?
  2. 无论如何,它可以容纳的绝对最大值是多少?它只受记忆限制吗?
  3. 达到最大值/内存满时会发生什么?崩溃?顶部x行被清除?
  4. 手动清除前x行的最佳方法是什么?子串操作?

编辑:我测试过它可以容纳超过600k个字符,无论如何MaxLength,此时我手动停止了程序并询问了这个问题.

.net c# winforms

7
推荐指数
1
解决办法
5万
查看次数

C#中字符串的最大大小是多少?

可能重复:
.NET字符串的最大可能长度是多少?

我需要知道C#中字符串可以包含多少个字符?

它是否与char数组的最大长度相同?

c# string

6
推荐指数
1
解决办法
4万
查看次数

使用实体框架获取数据长度(以验证WCF服务上的数据长度)

假设我有一个看起来像这样的表:

create table #Employee (
    EmployeeId int identity(1,1) not null,
    FirstName varchar(100) not null,
    LastName varchar(100) not null,
    Suffix varchar(10) not null,
    Prefix  varchar(10) not null,
    Address varchar(500) null)
Run Code Online (Sandbox Code Playgroud)

我用WCF(Soap)服务填充此表.我的数据合同如下:

[DataContract]
public class Employee
{
    [DataMember]
    public virtual string FirstName { get; set; }
    [DataMember]
    public virtual string LastName { get; set; }
    [DataMember]
    public virtual string Suffix { get; set; }
    [DataMember]
    public virtual string Prefix { get; set; }
    [DataMember]
    public virtual string Address { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# wcf entity-framework

6
推荐指数
1
解决办法
3211
查看次数

C#Long Substring函数

我有一个字符串"可能"比任何简单的int边界长.

目前,string.substring函数只接受int参数作为索引和长度,这对我来说是不够的,因为我需要很长的参数值类型.

你知道长子串函数的任何实现吗?

或者你建议我用非常长的字符串解决这个可能的子串问题?

谢谢.

.net c# string substring

5
推荐指数
1
解决办法
2514
查看次数

字典键中是否有字符限制?

在.NET中我可以使用任何字符串作为字典键吗?这是模板引擎的一部分,我计划允许用户添加自定义标头和值.

标题将类似于"X值"或"分析和XYZ报告摘要",我担心如果他们会在罕见的角色或类似的东西中获得异常.

我假设有大小限制,但期望它大于256个字符.MSDN没有关于这个问题的任何细节.

.net c# dictionary key key-value

4
推荐指数
2
解决办法
7553
查看次数

StringBuilder如何决定其容量应该有多大?

我知道当sb已经处于容量状态时,当你使用sb.Append(..)时,StringBuilder对象会分配更多的内存.但是这个容量增加了多少?

    StringBuilder sb = new StringBuilder(5);
    sb.Append("0123456789");
Run Code Online (Sandbox Code Playgroud)

现在,某人的能力是什么?为什么?乘数是多少?

为了清楚起见.我问的是容量而不是长度.

谢谢!

c# clr

4
推荐指数
1
解决办法
1206
查看次数

标签 统计

c# ×8

.net ×7

string ×3

arrays ×1

byte ×1

clr ×1

clr4.0 ×1

dictionary ×1

entity-framework ×1

key ×1

key-value ×1

limits ×1

memory ×1

size ×1

substring ×1

wcf ×1

winforms ×1