什么是VB中的Javascript .map等效项?

时间:2019-02-04 15:25:29

标签: javascript vb.net linq

我正在尝试在vb中制作一个简单的脚本,该脚本会将字符串“这些是我的角色”转换为“这些字符”

起初看起来很简单,我创建了一个用户窗体,并带有2个文本框(输入和输出)和一个按钮。 我想将字符串拆分为第一个字符,然后在使用Mod2和循环的UCase和LCase之间交替。

我问我的朋友他会怎么用他喜欢的语言来做到这一点,他用javascript给了我

string.split('').map((c,i) => (i%2)? c.toUppercase() : c.toLowercase() )

这是红宝石

string.split('').each_with_index.map 
{ |c, i| return c.uppercase if (i%2).zero? Else c.downcase}.join ''

那时候我以为.map函数更容易拆分字符串并在每个字符串上执行操作。

所以我的问题是,我将如何替换VB中这些语言中使用的.map? 预先谢谢你。

1 个答案:

答案 0 :(得分:5)

这是Select方法,有关更多信息,请查看here

为了使用此方法,必须在源代码文件的开头添加以下语句:

Imports System.Linq

在此命名空间中,定义了IEnumerable(Of T)上的许多extension methods。其中之一是Select方法。由于String实现了IEnumerable(Of Char),所以这些方法也可以应用于String。与使用Select的其他语言一样,map可用于投影一系列项目的元素。

例如(由Andrew Morton提供-检查评论)

New String(s.Select(Function(c, i) If(i Mod 2 = 0, Char.ToLower(c), Char.ToUpper(c))).ToArray())