Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net visual basic:对象引用未设置为对象的实例_.net_Vb.net_Object_Reference - Fatal编程技术网

.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编码,这种“如果不是什么都不是”的感觉很奇怪。所以我的大脑认为这不是问题所在。非常感谢