我需要确定String
中是否包含特定的Substring
,然后根据Boolean
是否存在返回一个Substring
值。我可以创建一个独立的函数来检查所传递的字符串中是否存在所传递的年份,例如:
说pstrCompNum =“ 111-2233-44-555”,而pstrCompYear =“ 33”。这将返回True,因此,我知道该字符串中存在33。
Public Function HasYear(ByVal pstrCompNum As String, ByVal pstrCompYear As String) As Boolean
Try
Dim testString As String = pstrCompNum
Dim testSubstring As String = testString.Substring(6, 2)
If pstrCompYear.Equals(testSubstring) Then
Return True
End If
Return False
Catch ex As Exception
Throw ex
End Try
End Function
但是我真正想要的是能够使用String调用此方法,例如,我可能会这样使用它:
If pstrCompNum.HasYear(pstrCompYear) Then
''something
End If
这是因为我打算将其放入一个循环中,在该循环中,我检查每次迭代以查看String是否包含年份。与此类似:
Dim itHasIt As Boolean
For Each c In Name
If c.HasYear(year) Then
itHasIt = True
End If
Next
或者类似的东西。我只是从头顶上整理出来,以帮助您理解。
对这项工作有什么建议吗?
答案 0 :(得分:1)
是的,这些被称为extension methods。
Imports System.Runtime.CompilerServices
Public Module StringExtensionMethods
<Extension()>
Public Function HasYear(ByVal pstrCompNum As String, ByVal pstrCompYear As String) As Boolean
Dim testString As String = pstrCompNum
Dim testSubstring As String = testString.Substring(6, 2)
If pstrCompYear.Equals(testSubstring) Then
Return True
End If
Return False
End Function
End Module