微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/csharp/95825.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐