pro*_*ick 18 .net c# string bstr null-terminated
在阅读了什么是空终止字符串的基本原理?我发现在C#/.中,一些类似的问题在内部,Net字符串都是长度前缀和null终止,就像在BSTR数据类型中一样.
字符串是长度前缀还是空终止而不是例如的原因是什么.只有长度 - 前缀?
jas*_*son 21
长度为前缀,以便计算长度O(1).
O(1)
Null终止以使编组快速无管理(非托管可能需要以空字符结尾的字符串).
Xai*_*oft 13
以下是Jon Skeet 关于字符串的Blog Post的摘录:
虽然就API而言字符串不是以空值终止的,但字符数组是以空值终止的,因为这意味着它可以直接传递给非托管函数而不涉及任何复制,假设inter-op指定了字符串应该作为Unicode编组.
归档时间:
14 年,6 月 前
查看次数:
3488 次
最近记录:
13 年,8 月 前