gpt4 book ai didi

VB.Net 相当于 Javascript 的 .Map 函数

转载 作者:行者123 更新时间:2023-12-02 23:29:04 25 4
gpt4 key购买 nike

给定一个字符串数组,例如:Dim array1 As String() = {"1", "2", "3"} 复制该数组并执行对每个元素采取行动?

换句话说,复制该数组的最佳方法是什么:array2 as integer() = {1, 2, 3}

例如,类似于 JavaScript's .Map function 的内容:

var numbers = [4, 9, 16, 25];

function myFunction() {
x = document.getElementById("demo")
x.innerHTML = numbers.map(Math.sqrt);
}
// Result: 2, 3, 4, 5

如果一行中不可能 - 正如我怀疑它不可能 - 你最快的替代方案是什么?谢谢!

最佳答案

如果您不想使用任何 LINQ 扩展方法,但可以使用 lambda 表达式,您仍然可以使用 Array.ConvertAll 在一行中完成此操作:

Dim input() As String = {"1", "2", "3"}
Dim output() As Integer = Array.ConvertAll(input, Function(x) Integer.Parse(x))

但是,它确实引出了一个问题:为什么不直接使用 LINQ,因为它实际上是同一件事:

Dim input() As String = {"1", "2", "3"}
Dim output() As Integer = input.Select(Function(x) Integer.Parse(x)).ToArray()

在 VB 中执行此操作的经典命令式方法(不使用 LINQ 或 lambda)是 for 循环:

Dim input() As String = {"1", "2", "3"}
Dim output(LBound(input) To UBound(input)) As Integer
For i As Integer = LBound(input) To UBound(input)
output(i) = Integer.Parse(input(i))
Next

关于VB.Net 相当于 Javascript 的 .Map 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41266571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com