.net visual basic:对象引用未设置为对象的实例
我看了一个视频教程,看到那个家伙编写并执行下面的代码,然后开始工作,但当我试图编译我的代码时,它说“对象引用未设置为对象的实例”。我试过几次,看看是否能找到问题所在,但都没有用.net visual basic:对象引用未设置为对象的实例,.net,vb.net,object,reference,.net,Vb.net,Object,Reference,我看了一个视频教程,看到那个家伙编写并执行下面的代码,然后开始工作,但当我试图编译我的代码时,它说“对象引用未设置为对象的实例”。我试过几次,看看是否能找到问题所在,但都没有用 Imports System.IO Public Class Form2 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try
Imports System.IO
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim myline = New StreamReader("TextFile1.txt")
Dim line As String = ""
While Not IsNothing(line)
line = myline.ReadLine
If IsNothing(line) Then
TextBox2.AppendText(line)
End If
End While
myline.Close()
Catch ex As Exception
TextBox2.AppendText(ex.Message)
MsgBox(ex.Message)
End Try
End Sub
End Class
有人能帮忙吗?谢谢我想你错过了一个不:
If Not IsNothing(line) Then
TextBox2.AppendText(line)
End If
我想你错过了一个而不是:
If Not IsNothing(line) Then
TextBox2.AppendText(line)
End If
在条件
中,如果IsNothing(行),则
缺少一个Not
If Not IsNothing(line) Then
TextBox2.AppendText(line)
End If
在条件
中,如果IsNothing(行),则
缺少一个Not
If Not IsNothing(line) Then
TextBox2.AppendText(line)
End If
很简单:)只是缺少对象定义:)
-没有定义myline。就像你这样做:
Dim variable = 1
你必须说:
Dim myline as StreamReader = New StreamReader("TextFile1.txt")
因此,在使用值填充变量之前,VisualBasic知道要生成哪种类型的变量。在VB.NET(我个人最喜欢的语言:)中有更好、更敏锐的读取文件的方法,但我相信这对您的应用程序会有帮助
如果您最终想要将整个文件读取到一个数组(列表),可以通过代码段查找将文件读取到字符串的代码,然后使用anystring.split命令和“vbCRLF”字符(一个端点,如enter按钮)将其拆分到一个列表中。很简单:)只是缺少对象定义:)
-没有定义myline。就像你这样做:
Dim variable = 1
你必须说:
Dim myline as StreamReader = New StreamReader("TextFile1.txt")
因此,在使用值填充变量之前,VisualBasic知道要生成哪种类型的变量。在VB.NET(我个人最喜欢的语言:)中有更好、更敏锐的读取文件的方法,但我相信这对您的应用程序会有帮助
如果您最终想要将整个文件读取到一个数组(列表),您可以通过代码段查找将文件读取到字符串的代码,然后使用anystring.split命令和“vbCRLF”字符(一个尾行,如enter按钮)将其拆分到一个列表中。这种“如果不是什么”是很奇怪的。
IsNothing
是一种VB ism,与网络语法相反。其他编码方式包括:
If String(line).IsNullOrEmpty = False Then
' or
If Not String(line).IsNullOrEmpty Then
' which is the same type of garble as Not IsNothing
also:
If Line IsNot Nothing Then
由于IsNothing
是一个返回布尔值的VB函数,您也可以对其求值:
If IsNothing(line) = False Then ...
这种“非此即彼”的说法很奇怪。
IsNothing
是一种VB ism,与网络语法相反。其他编码方式包括:
If String(line).IsNullOrEmpty = False Then
' or
If Not String(line).IsNullOrEmpty Then
' which is the same type of garble as Not IsNothing
also:
If Line IsNot Nothing Then
由于IsNothing
是一个返回布尔值的VB函数,您也可以对其求值:
If IsNothing(line) = False Then ...
似乎调用ReadAllText方法更容易:
Imports System.IO
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
TextBox2.AppendText(File.ReadAllText("TextFile1.txt"))
Catch ex As Exception
TextBox2.AppendText(ex.Message)
MsgBox(ex.Message)
End Try
End Sub
End Class
似乎调用ReadAllText方法更容易:
Imports System.IO
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
TextBox2.AppendText(File.ReadAllText("TextFile1.txt"))
Catch ex As Exception
TextBox2.AppendText(ex.Message)
MsgBox(ex.Message)
End Try
End Sub
End Class
非常感谢。成功了。我来自php编码,这种“如果不是什么都不是”的感觉很奇怪。所以我的大脑认为这不是问题所在。谢谢,谢谢。成功了。我来自php编码,这种“如果不是什么都不是”的感觉很奇怪。所以我的大脑认为这不是问题所在。非常感谢