首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检索bitArray部件的最快方法

检索bitArray部件的最快方法
EN

Stack Overflow用户
提问于 2017-11-13 21:34:28
回答 1查看 38关注 0票数 0

标题说明了一切。我当前的版本是:

代码语言:javascript
复制
Public Function GetBitArrayPart(ByVal BitArray As BitArray, _
                                ByVal IndexStart As Integer, _
                                ByVal IndexEnd As Integer) As BitArray

    If IndexStart < 0 OrElse IndexEnd > BitArray.Length - 1 OrElse IndexEnd < IndexStart Then
        Return New BitArray(0)
    End If

    Dim i As Integer
    Dim outputBA As New BitArray(IndexEnd - IndexStart + 1)

    For i = 0 To outputBA.Length - 1
        outputBA(i) = BitArray(IndexStart + i)
    Next

    Return outputBA

End Function

我必须指定查找bitAarrays的大小很大。我不明白为什么使用System.String存储相同数量的信息来检索该字符串的一部分要比使用BitArray更快。出于这个原因,我开始分析我的函数的性能。

EN

回答 1

Stack Overflow用户

发布于 2017-11-14 14:40:33

我不确定它是否会更快,但这里有一个基于复制到数组并从它创建一个新的BitArray的实现:

代码语言:javascript
复制
Public Function GetBitArrayPart(ByVal BitArray As BitArray, _
                        ByVal IndexStart As Integer, _
                        ByVal IndexEnd As Integer) As BitArray

    If IndexStart < 0 OrElse IndexEnd > BitArray.Length - 1 OrElse IndexEnd < IndexStart Then
        Return New BitArray(0)
    End If

    Dim arr as Boolean()
    BitArray.CopyTo(arr, 0)
    Return new BitArray(arr.Skip(IndexStart).Take(IndexEnd - IndexStart).ToArray())

End Function
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47265576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档