[C#] Referência de objeto não definida para uma instância de um objeto. ~ help

Então galera… venho estudando csharp e alguma coisa basica me fez dar uma parada por ficar perdendo tempo para resolver um problema que não resolvi até agora.

o código que fiz é:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace _1
{
	public partial class Form1 : Form
	{
		private Conta c;


		public Form1()
		{
			InitializeComponent();

		}

		private void textBox1_TextChanged(object sender, EventArgs e)
		{
		
		}

		private void Form1_Load(object sender, EventArgs e)
		{
			Conta c = new Conta();
			c.Numero = 1;
			Cliente LD = new Cliente("Joao guilher");
			c.Titular = LD;
			textoTitular.Text = c.Titular.Nome;


			textoNumero.Text = Convert.ToString(c.Numero);
			textoSaldo.Text = Convert.ToString(c.Saldo);
		}

		private void textBox1_TextChanged_1(object sender, EventArgs e)
		{

		}

		private void button1_Click(object sender, EventArgs e)
		{
			string valorDigitado = textoValor.Text;
			double valorOperacao = Convert.ToDouble(valorDigitado);
			this.c.Deposita(valorOperacao);
			textoSaldo.Text = Convert.ToString(this.c.Saldo);
			MessageBox.Show("Sucesso");
		}

		private void botaoSaque_Click(object sender, EventArgs e)

		{
			string valorDigitado = textoValor.Text;
			double valorOperacao = Convert.ToDouble(valorDigitado);
			this.c.Saca(valorOperacao);
			textoSaldo.Text = Convert.ToString(this.c.Saldo);
			MessageBox.Show("Sucesso");
		}
	}
}

não mostra erro nem nada, consigo compilar e tudo, porém quando click no botão(há 4 text box e 2 botões, um com a função sacar e outra depositar) “sacar” ou até mesmo no “depositar” ele me indica uma caixinha dizendo

"System.NullReferenceException: ‘Referência de objeto não definida para uma instância de um objeto.’"
Eu já chequei tudo e não consigo entender o erro nisso
e no caso com esse erro, após ele o programa não roda mais, para de ser compilado e não executa a função que era retirar o saque do preço que digitei no text box ou depositar o valor que digitei no textbox
é isso ): se alguém puder dar uma força, agradecidoo já estou

Você nao instanciou esse objeto c no contexto esperado.

Ao invés disso:

Conta c = new Conta();

talvez você esteja querendo fazer isso no formload ou construtor:

c = new Conta();

Que material de ensino está seguindo? Recomendo se direcionar por algo antes de sair fazendo.

AAAAAAAAA CARA VALEU
eu ja havia pesquisado sobre mas era muito fora do contexto do meu código e não consegui enxergar isso
eu tô sendo direcionado sim, pelo ‘curso’ do caelum, vou dar uma checada se ele insiste que eu digite “conta c = new Conta();” ou “c = new Conta();” por que tô acompanhando e fazendo sacas? ):

https://www.caelum.com.br/apostila-csharp-orientacao-objetos/introducao-ao-visual-studio-com-windows-form/#introduo-prtica-aos-atalhos-do-visual-studio

Olha ai, ele realmente diz lá pra por “conta c = new conta ();”… kkk desanimei de continuar acompanhando por essa apostila agora
tem alguma pra me indicar?

A apostila está certa:

   public class Form1 : Form
    {
        private Conta c;

        // resto da classe do formulário.
    }


    private void Form1_Load(object sender, EventArgs e)
    {
        // Cria uma nova conta e guarda sua referência no atributo do formulário
        this.c = new Conta();

        // inicializa e mostra a conta no formulário
    }

E seria essa apostila mesmo que eu ia te indicar.

1 curtida

foi falta de atenção então, achei que já tinha ‘instanciado’ o private Conta c;
valeu pela ajuda <3