O valor null
string plant = null; não guarda letras, e Console.WriteLine(plant) escreve null. A tela é uma linha. Não há aspas em volta de null, e não há dígito nessa linha. Mantenha a classe pública chamada Pine.
O nome não guarda letras
Abra o arquivo Pine. O nome da classe continua Pine. Esta página não renomeia o tipo. Apague int count se essa linha ainda estiver lá, incluindo (int), 40.0, 40.9 e 40. Apague double weight se ainda estiver. Apague bool ripe se ainda estiver, incluindo true e false. Apague plant.Length e cada linha que faz uma pergunta depois de um ponto. Apague qualquer linha ReadLine. O arquivo que você guarda não tem espera, nem count, nem weight, nem ripe, nem parênteses. A palavra só é escrita pela linha de escrita que usa o nome.
Dentro de Main, a linha de guardar é string plant = null;. string é a palavra de tipo. Ela diz que este nome pode guardar letras, ou pode não guardar nenhuma letra. plant é o nome, e começa com p minúsculo. O sinal = guarda. A palavra é null, todas as letras minúsculas: n, u, l, l. Não há N maiúsculo. Não há aspas em volta de null. Não há dígito. O ponto e vírgula termina a linha. Esta linha não guarda letras. Ela não escreve a tela. Guardar não é escrever. A tela fica em branco até o fim desta linha. null não é atalho para escrever o número 0. null não é a palavra leaf com letras ausentes só na tela. Nada está guardado. As letras leaf não esperam em lugar nenhum neste nome.
Nesta página, este tipo guarda letras entre aspas, como leaf, ou a palavra null sem aspas. Você não inventa uma terceira palavra. string plant = none; trata none como um nome. Este arquivo não tem um nome none. O build escreve um erro. string plant = empty; faz o mesmo. A palavra que você pode escrever, com este tipo e sem aspas, é null. O arquivo que você guarda usa null.
A linha de escrita é o nome nu: Console.WriteLine(plant);. Sem aspas, sem ponto. O C# lê o nome plant, escreve o que esse nome guarda, e termina a linha. Para o arquivo que você guarda, o nome não guarda letras, então a linha de escrita escreve a palavra null. As letras do nome, p, l, a, n, t, não estão na tela. string não está na tela. Console não está na tela. A palavra null está na tela, numa linha. Salve o arquivo.
O arquivo que você guarda
Mantenha esta forma de ensino. Uma palavra de tipo, string. Um nome, plant. Uma palavra, null, todas minúsculas, sem aspas, sem dígito. Uma linha de escrita, e essa linha usa o nome nu. Não há Length.
using System;
public class Pine
{
public static void Main()
{
string plant = null;
Console.WriteLine(plant);
}
}
Leia de cima. using System; prepara nomes curtos. public class Pine nomeia o tipo. public static void Main() é onde o runtime começa. A palavra string numa linha de guardar mais abaixo é a que importa aqui. string plant = null; não guarda letras. Não escreve nada. Console.WriteLine(plant); escreve null e termina a linha. Uma linha na tela. Sem aspas. Sem segunda linha. Não há linha int no arquivo que você guarda.
Execute com dotnet run. O programa escreve null. Ele não espera você digitar. A palavra já estava no arquivo. Se dotnet run esperar, ReadLine ainda está no arquivo. Apague essa linha e mantenha string plant = null; e a única linha de escrita. O programa termina depois da linha de escrita. A tela mostra null. Uma linha. Sem aspas. Se a tela mostrar plant, a linha de escrita tem aspas em volta do nome: Console.WriteLine("plant");. Essas aspas marcam as letras p, l, a, n, t, então a palavra guardada não é escrita. Se a tela mostrar leaf, a linha de guardar ainda diz "leaf". Apague aspas e letras, e escreva null sem aspas. Se a tela mostrar 40, ou 40.0, ou 4, o arquivo de casting ou o de números ainda está no lugar. Apague a linha int e os parênteses. Se a tela mostrar true ou false, ripe ainda está no arquivo. Se a tela mostrar uma linha vazia e não a palavra null, a linha de guardar tem aspas vazias: string plant = "";. Esse não é o arquivo que você guarda. O arquivo que você guarda tem a palavra null e sem aspas. Você não reinstala o SDK .NET por uma tela que mostra a linha errada.
Uma tela que mostra null não prova o arquivo sozinha. string plant = "null"; com aspas em volta dessas quatro letras também escreve null, porque as aspas guardam n, u, l, l. A tela pode parecer a mesma. O arquivo não é. O arquivo que você guarda tem string, e tem null sem aspas. Ao julgar esta página, procure a palavra de tipo e a ausência de aspas. Não julgue o arquivo só pela tela.
Aspas guardam as letras null
Aspas em volta da palavra são letras, não o nome vazio. string plant = "null"; guarda quatro letras. O build não escreve erro. dotnet run escreve null. Essa execução é permitida, e não é o arquivo que você guarda. O arquivo que você guarda não tem aspas, então o nome não guarda letras. Ao consertar o arquivo guardado, apague as aspas para a linha voltar a ser string plant = null;. Não apague a palavra null com elas.
📊 A linha de guardar e a tela
| A linha de guardar | A tela |
|---|---|
string plant = null; |
null |
string plant = "null"; |
null |
string plant = "leaf"; |
leaf |
int count = null; |
o build escreve um erro |
Leia a tabela diante de uma execução, não no lugar dela. Para string plant = null;, o build não escreve erro e dotnet run escreve null. Para string plant = "null";, o build não escreve erro e dotnet run escreve null, e o arquivo ainda tem aspas. Para string plant = "leaf";, o build não escreve erro e dotnet run escreve leaf. Para int count = null;, o build escreve um erro, então você não executa. Depois de cada checagem, coloque de volta string plant = null;, sem aspas. A tela guardada é null, uma linha.
O nome precisa existir antes de uma linha usá-lo. Se Console.WriteLine(plant); estiver acima de string plant = null;, o build escreve um erro. Coloque a linha de guardar acima da linha de escrita. Não escreva string uma segunda vez para o mesmo nome. string plant = "leaf"; abaixo de uma linha que já criou plant é outro erro. O build escreve um erro e não fica quieto. O nome é criado uma vez. Uma linha depois pode pôr letras sem escrever string de novo, quando plant já existe: plant = "leaf";. Essa linha só troca o que o nome guarda. É permitido. Não é o arquivo que você guarda. O arquivo que você guarda tem uma linha de guardar, e essa linha diz null.
string plant; sem = null, seguido da linha de escrita, faz o build escrever um erro. O nome existiria como tipo, e ainda não guardaria palavra nenhuma, nem null. Coloque = null na linha de criação, como no arquivo que você guarda. string plant = nullnull; trata nullnull como um nome. Este arquivo não tem esse nome. O build escreve um erro. A palavra é null, e falta de espaço não a cola numa terceira palavra que funcione. string plant = null ; com espaço antes do ponto e vírgula ainda é a palavra null. O build não escreve erro, e a tela continua null. O arquivo que você guarda não tem espaço extra, mas esse espaço não é um segundo valor.
Letra maiúscula não é a palavra. string plant = Null; trata Null como um nome, porque a primeira letra é N maiúsculo. Este arquivo não tem um nome Null. O build escreve um erro. Não fica quieto. A tela não mostra Null, porque você não executa enquanto o build escreve erro. A palavra no arquivo que você guarda é null, tudo minúsculo. Volte as letras minúsculas.
null não é número inteiro
Número inteiro é o tipo da página de números. int count = null; pede a esse tipo que não guarde letras. null não cabe. O build escreve um erro. Ele não transforma null em 0. Não escreve null. bool ripe = null; pede ao tipo de duas palavras que guarde null. Esse tipo só guarda true ou false. O build escreve um erro. Não transforma null em false. Não há tela para ler, porque você não executa enquanto o build escreve erro. Você não precisa das palavras exatas desses erros. Apague a linha int e a linha bool ao consertar o arquivo que você guarda, e escreva string plant = null; de novo.
Uma pergunta depois do nome é outra falha, e não é falha de build. O segundo arquivo guarda null, depois pergunta quantas letras esse nome guarda.
using System;
public class Pine
{
public static void Main()
{
string plant = null;
Console.WriteLine(plant.Length);
}
}
Este é o segundo arquivo. Não é o arquivo que você guarda. Execute dotnet run. O build pode ficar quieto, porque as linhas são permitidas no arquivo. A palavra null não faz o build falhar, e Length também não. O programa não escreve um número. Não escreve 4, nem 0, nem null. A execução escreve um erro. Você não precisa das palavras exatas desse erro. O nome não guarda letras, então não há contagem de letras para escrever. Se a tela mostrar 4, plant ainda guarda leaf, e Length conta essas quatro letras. Apague "leaf" e mantenha null, ou, para o arquivo que você guarda, apague Length por completo. A linha de escrita do arquivo que você guarda é Console.WriteLine(plant); sem ponto e sem Length. Depois de ver o erro, volte o arquivo guardado.
Agora você pode não guardar letras num nome e escrever a palavra null sem aspas e sem dígito. string plant = null; não guarda letras. Console.WriteLine(plant); escreve null e termina a linha. Aspas em volta de null guardam quatro letras, e a tela pode parecer a mesma, então você julga o arquivo. int count = null; e bool ripe = null; cada um faz o build escrever um erro. Null com N maiúsculo é um nome que este arquivo não tem. plant.Length depois de null deixa o build quieto e faz a execução escrever um erro. A página seguinte deixa este nome vazio. Ela olha mais de um valor guardado sob um só nome.
A tela é a palavra null
O arquivo que você guarda escreve null. O nome na linha de escrita é plant, e plant não está na tela. Não há aspas nesse arquivo. Um WriteLine é uma linha. A mesma tela vinda das aspas são quatro letras, não o arquivo que você guarda. Um dígito não pertence ao arquivo que você guarda. Uma pergunta depois do nome não é o arquivo que você guarda.
🧠 Teste Seu Conhecimento
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo