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
请勿显示 NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
#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
请勿显示 NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
ResizeArray
ResizeArray 是一个针对 ResizeArray<'T>
( = Collection.Generic.List<'T>
) 的 F# 扩展和模块库
它还可以与 Fable 一起使用。
它包含以下内容:
一个具有与
Array
模块中的所有函数 对应的函数的ResizeArray
模块。包括用于并行计算的函数。一个 Computational Expressions
resizeArray
,可以像现有的seq
一样使用。支持 F# 切片运算符和从末尾的开始索引。例如:
items.[ 1 .. ^1]
提供扩展成员
ResizeArray
,如.Get
.Set
.First
.Last
.SecondLast
等。带有更好的IndexOutOfRangeExceptions
,其中包含错误的索引和实际的大小。所有来自
FSharp.Core
的Array
模块的测试已移植和适配,可在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在内部使用了一种非常相似的模块
许可证
更改日志
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 已计算。 |
-
.NETFramework 4.7.2
- FSharp.Core (≥ 6.0.0)
-
net6.0
- FSharp.Core (≥ 6.0.0)
NuGet 包
此包没有被任何 NuGet 包使用。
GitHub 仓库
此包没有被任何流行的 GitHub 仓库使用。
- 将 minIndBy 重命名为 minIndexBy
- 添加 asArray(用于 Fable 中的类型转换)