c# – 快速和高效的ASCII字符串类.NET

前端之家收集整理的这篇文章主要介绍了c# – 快速和高效的ASCII字符串类.NET前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这可能以前被问过,但我找不到这样的帖子.有没有一个类可以使用ASCII字符串?好处很多:

>比较应该更快,因为它只是字节到字节(而不是具有可变编码的UTF-8)
>内存有效,应该使用大字符串大约一半的内存
>更快的版本的ToUpper()/ ToLower()使用查找表,这是语言不变的

Jon Skeet写了一个基本的AsciiString implementation,证明了#2,但我想知道是否有人进一步完成了这样一个课程.我相信会有用途,虽然没有人会通常采用这样的路由,因为所有现有的String函数都必须用手重新实现.并且String<> AsciiString会散布在任何地方,使简单的程序复杂化.

有这样的课吗?哪里?

解决方法

我以为我会发布我的努力的结果,以实现一个系统,描述与尽可能多的字符串支持和兼容性,我可以.这可能不完美,但如果需要,它应该给你一个体面的基础来改善.

ASCIIChar结构和ASCIIString字符串隐式转换为本地对等体以方便使用.

OP的替代ToUpper / Lower等的建议已经以比查找列表快得多的方式实现,并且所有的操作都像我可以做的那样快速和内存友好.

抱歉不能发帖,太长了.请参阅以下链接.

> ASCIIChar – 替换char,将值存储在字节中,而不是int,并为字符串类提供支持方法和兼容性.实现虚拟可用于char的所有方法属性.
> ASCIIChars – 为每个有效的ASCII字符提供静态属性,便于使用.
> ASCIIString – 替换字符串,将字符存储在字节数组中,并实现几乎所有可用于字符串的方法属性.

猜你在找的C#相关文章