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

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...