C# Skipwhile to VB skipWhile

本文关键字:skipWhile VB to Skipwhile | 更新日期: 2023-09-27 18:01:08

我在C#中有代码

string fileNameOnly = Path.GetFileNameWithoutExtension(sKey);
string token = fileNameOnly.Remove(fileNameOnly.LastIndexOf('_'));
string number = new string(token.SkipWhile(Char.IsLetter).ToArray());

我想要它在VB 中

Dim fileNameOnly As String = Path.GetFileNameWithoutExtension(sKey)
Dim token As String = fileNameOnly.Remove(fileNameOnly.LastIndexOf("_"c))
Dim number As New String(token.SkipWhile([Char].IsLetter).ToArray())

我试过了,但没有成功!有类似的东西可以用吗。它所做的是查看文件名,只使用其中的数字部分,跳过所有字母和_之后的所有字母。

C# Skipwhile to VB skipWhile

您必须在VB.NET:中使用AddressOf

Dim number As New String(token.SkipWhile(AddressOf Char.IsLetter).ToArray())

您也可以使用Function:

Dim number As New String(token.SkipWhile(Function(c)Char.IsLetter(c)).ToArray())

在VB.NET中,我经常使用多行并结合查询+方法语法来避免出现难看的Function/AddressOf关键字。

Dim numberChars = From c In token
                  Skip While Char.IsLetter(c)
Dim numbers = New String(numberChars.ToArray())