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替换字符串,将字符存储在字节数组中,并实现几乎所有可用于字符串的方法属性.

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么