ResizeArray 0.19.0

dotnet add package ResizeArray --version 0.19.0                
NuGet\Install-Package ResizeArray -Version 0.19.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块版本的 Install-Package
<PackageReference Include="ResizeArray" Version="0.19.0" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以便引用包。
paket add ResizeArray --version 0.19.0                
#r "nuget: ResizeArray, 0.19.0"                
在 F# Interactive 和 Polyglot Notebooks 中可以使用 #r 指令。将其复制到交互式工具或脚本的源代码中以引用包。
// Install ResizeArray as a Cake Addin
#addin nuget:?package=ResizeArray&version=0.19.0

// Install ResizeArray as a Cake Tool
#tool nuget:?package=ResizeArray&version=0.19.0                

ResizeArray

code size license

ResizeArray 是一个针对 ResizeArray<'T> ( = Collection.Generic.List<'T>) 的 F# 扩展和模块库

它还可以与 Fable 一起使用。

Logo

它包含以下内容:

  • 一个具有与 Array 模块中的所有函数 对应的函数的 ResizeArray 模块。包括用于并行计算的函数。

  • 一个 Computational Expressions resizeArray,可以像现有的 seq 一样使用。

  • 支持 F# 切片运算符和从末尾的开始索引。例如:items.[ 1 .. ^1]

  • 提供扩展成员 ResizeArray,如 .Get .Set .First .Last .SecondLast 等。带有更好的 IndexOutOfRangeExceptions,其中包含错误的索引和实际的大小。

  • 所有来自FSharp.CoreArray模块的测试已移植和适配,可在javascript和dotnet中运行。

使用方法

只需打开命名空间

open ResizeArray

此命名空间包含

  • 一个也叫ResizeArray的模块
  • 一个计算表达式叫resizeArray
  • 这也会自动打开ResizeArray<'T>上的扩展成员

然后你可以这样做

let evenNumbers =
    resizeArray {  // a Computational Expressions like seq
        for i = 0 t 99 do
            if i % 2 = 0 then
                i
    }

let oddNumbers = evenNumbers |> ResizeArray.map (fun x -> x + 1) // ResizeArray module

let hundred = oddNumbers.Last // Extension member to access the last item in list

为什么?

是的,F#数组和(链接)列表也可以在集合上执行这种类型的操作。但是ResizeArray(作为可变类型)在需要扩展或收缩且需要随机访问的集合上仍然提供最佳性能。

实际上,FSharp.Core在内部使用了一种非常相似的模块

许可证

MIT

更改日志

0.19.0

  • 将minIndBy重命名为minIndexBy
  • 添加asArray(用于Fable中的转换)

0.18.0

  • 添加mapToArray
  • 添加failIfEmpty

0.17.0

  • 当为空时不 fail on LastIndex

0.16.0

  • 添加null检查
  • 添加'partitionBy'函数
  • 添加嵌套ResizeArray的相等性检查
  • 'sub'函数反转参数顺序

0.15.0

产品 兼容和额外的计算目标框架版本。
.NET net6.0是兼容的。 net6.0-android已计算。 net6.0-ios已计算。 net6.0-maccatalyst已计算。 net6.0-macos已计算。 net6.0-tvos已计算。 net6.0-windows已计算。 net7.0已计算。 net7.0-android已计算。 net7.0-ios已计算。 net7.0-maccatalyst已计算。 net7.0-macos已计算。 net7.0-tvos已计算。 net7.0-windows已计算。 net8.0已计算。 net8.0-android已计算。 net8.0-browser已计算。 net8.0-ios已计算。 net8.0-maccatalyst已计算。 net8.0-macos已计算。 net8.0-tvos已计算。 net8.0-windows已计算。
.NET Framework net472 兼容。 net48 已计算。 net481 已计算。
兼容的目标框架
包含的目标框架(在包内)
了解更多关于 目标框架.NET Standard 的信息。

NuGet 包

此包没有被任何 NuGet 包使用。

GitHub 仓库

此包没有被任何流行的 GitHub 仓库使用。

版本 下载 最后更新
0.19.0 296 5/3/2024
0.18.0 187 2/25/2024
0.17.0 107 2/17/2024
0.16.0 103 1/28/2024
0.15.0-a 76 1/22/2024

- 将 minIndBy 重命名为 minIndexBy
     - 添加 asArray(用于 Fable 中的类型转换)