我试着一步一步地描述我的问题,因为我不知道如何用正确的编程术语说出来.
当我使用System.String类型时,我执行以下操作:
Dim Str1 as StringStr1 = "This is a string"我想创建一个类似于System.String类型但名称不同的新类型.例如,我想为这样的字符串创建一个UrlString类型:
Dim Str2 as UrlStringStr2 = "http://www.example.com"我的问题是:如何创建UrlString类型?
原因是:我想创建UrlString类型以帮助我识别内容的值.例如,UrlString类型表示字符串是url格式,PhoneString表示字符串是电话格式,CreditCardString类型表示字符串是信用卡格式,依此类推.
更新:
谢谢Marc Gravell和GSerg.这是解决方案:
Class UrlString
Private ReadOnly value As String
Public Sub New(ByVal value As String)
Me.value = value
End Sub
Public Shared Widening Operator CType(ByVal value As String) As UrlString
Return New UrlString(value)
End Operator
Public Shared Widening Operator CType(ByVal u As UrlString) …Run Code Online (Sandbox Code Playgroud) 考虑以下代码:
Dim S1 As String = "a"
'this is the string in a file
Dim StringFromFile As String = "S1=hello"
Dim temp() As String = Split(StringFromFile, "=", -1, CompareMethod.Binary)
'temp(0) = variable name
'temp(1) = variable value
'my question is: how to assign value to S1?
Run Code Online (Sandbox Code Playgroud)
我已经声明了一个名为S1的字符串.现在我想为S1分配新值.新字符串值使用以下格式存储在文件中:[变量名称] [=作为分隔符] [字符串值].在检索存储在文件中的字符串变量名称和值后,如何将值分配给S1?
注意:
temp(0) = "S1"
temp(1) = "hello"
Run Code Online (Sandbox Code Playgroud)
应该注意的是,带有数据的字符串来自一个可能会不时变化的文件!当文件发生变化时,我也希望变量也能改变.
我需要一段代码,当处理像"S1 = hello"这样的字符串时,代码将首先找到一个声明的变量(即S1),然后为S1变量分配"hello"字符串."="仅作为变量名和变量值的分隔符.
更新:
我尝试使用Mathias Lykkegaard Lorenzen的EDIT 2示例,但在这一行上失败了"NullReferenceException" "Field.SetValue(Me, VariableValue)".请帮我解决问题.以下是基于Mathias Lykkegaard Lorenzen的EDIT 2示例的代码:
Public Sub Ask()
Try
Dim …Run Code Online (Sandbox Code Playgroud) 我有一个关于字符串的简单问题.考虑以下代码:
Dim S1 as String = "abc"
Run Code Online (Sandbox Code Playgroud)
S1的编码是什么?是UTF-8还是取决于用户窗口的本地设置?
我正在开发一个winform应用程序.我想从用户那里获取输入(即用户提供用户名)并将该输入用作文件名的一部分并保存到文件中.
如何检查用户提供的用户名是否包含windows的保留字符.什么是Windows的保留字符列表?
我有以下代码(从在线教程获得).代码正在运行,但我怀疑处理Excel com对象的方式有点不合适.我们真的需要调用GC.Collect吗?或者,处理此Excel com对象的最佳方法是什么?
Public Sub t1()
Dim oExcel As New Excel.Application
Dim oBook As Excel.Workbook = oExcel.Workbooks.Open(TextBox2.Text)
'select WorkSheet based on name
Dim oWS As Excel.Worksheet = CType(oBook.Sheets("Sheet1"), Excel.Worksheet)
Try
oExcel.Visible = False
'now showing the cell value
MessageBox.Show(oWS.Range(TextBox6.Text).Text)
oBook.Close()
oExcel.Quit()
releaseObject(oExcel)
releaseObject(oBook)
releaseObject(oWS)
Catch ex As Exception
MsgBox("Error: " & ex.ToString, MsgBoxStyle.Critical, "Error!")
End Try
End Sub
Private Sub releaseObject(ByVal obj As Object)
Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
obj = Nothing
Catch ex As Exception
obj = Nothing
Finally
GC.Collect() …Run Code Online (Sandbox Code Playgroud) 我想知道在使用For Each循环时字符串数组的行为.考虑以下代码:
Dim StringArray(499) As String
'fill in each element with random string
Dim count As Int32
Dim current As String
For Each current in StringArray
'do something with current
count = count + 1
If count = 10
Exit For
End If
Next
're-enter the StringArray again
count = 0
For Each current in StringArray
'do something with current
count = count + 1
If count = 10
Exit For
End If
Next
Run Code Online (Sandbox Code Playgroud)
如上面的代码所示,如果我需要使用For Each循环两次访问StringArray,那么即使我在每个 …