作为一名非 .NET 程序员,我正在寻找旧 Visual Basic 函数的 .NET 等效项left(string, length)
。left("foobar", 3) = "foo"
同时,最有帮助的是,left("f", 3) = "f"
。
在.NET中string.Substring(index, length)
对超出范围的所有内容抛出异常。
@Noldorin- 哇,谢谢您的 VB.NET 扩展!
public static class Utils
{
public static string Left(this string str, int length)
{
return str.Substring(0, Math.Min(length, str.Length));
}
}
注意静态类和方法以及this
关键词。"foobar".Left(3)
。C。
答案
这是一个可以完成这项工作的扩展方法。
<System.Runtime.CompilerServices.Extension()> _
Public Function Left(ByVal str As String, ByVal length As Integer) As String
Return str.Substring(0, Math.Min(str.Length, length))
End Function
这意味着您可以像旧的 VB 一样使用它Left
函数(即Left("foobar", 3)
)或使用较新的 VB.NET 语法,即
Dim foo = "f".Left(3) ' foo = "f"
Dim bar = "bar123".Left(3) ' bar = "bar"