gpt4 book ai didi

C# 对象引用未设置为对象的实例

转载 作者:行者123 更新时间:2023-11-30 18:59:59 25 4
gpt4 key购买 nike

我得到第 43 行的对象引用未设置为对象的实例,我无法弄清楚为什么,我已经搜索了网络但似乎找不到答案。我是 C# 和一般编程的新手,正在努力学习。如果有人能帮助我,那就太好了

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace test
{
public partial class Form1 : Form
{
[Serializable]
public class ore
{
public float Titan;
public float Eperton;
}

ore b1 = null;
ore b2 = null;

public Form1()
{
InitializeComponent();

ore b2 = new ore();
ore b1 = new ore();
}

private void textBox1_TextChanged(object sender, EventArgs e)
{
float tempFloat;

if (float.TryParse(textBox1.Text, out tempFloat))
{
b1.Titan = tempFloat; //line 43; where error happens
}
else
MessageBox.Show("uh oh");
}

private void textBox2_TextChanged(object sender, EventArgs e)
{
float tempFloat;
if (float.TryParse(textBox1.Text, out tempFloat))
{
b2.Eperton = tempFloat;
}
else
MessageBox.Show("uh oh");
}

private void button1_Click(object sender, EventArgs e)
{
List<ore> oreData = new List<ore>();
oreData.Add(b1);
oreData.Add(b2);

FileStream fs = new FileStream("ore.dat", FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, oreData);
fs.Close();
}
}
}

最佳答案

我假设它在任何 b1/b2 引用上都失败了。

ore b1 = null;
ore b2 = null;

在这里你为你的类声明了两个私有(private)变量

ore b2 = new ore();
ore b1 = new ore();

在这里,您为那个 方法调用声明了两个局部变量。您没有更改原始变量。将其更改为:

b2 = new ore();
b1 = new ore();

关于C# 对象引用未设置为对象的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6487316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com