Olá,
tem sentido o seu comentário, mas acredito que esta questão ai é um "ache a única resposta correta"
pode ser que ela ja foi bolada assim para evitar varias interpretações.
*lembrando que existem varias formas de realizar esta tarefa exemplo de algumas:
namespace Teste
{
static class Program
{
public class Pessoa
{
public string nome;
public int idade;
public int peso;
public Pessoa() { }
public Pessoa(string nome, int idade, int peso)
{
this.nome = nome;
this.idade = idade;
this.peso = peso;
}
}
static void Main()
{
//Verifique que é possível passar os valores entre as chaves, basta escrever o parâmetro e o valor para ele
//desde que os parâmetros estejam escritos corretos não importa a ordem
Pessoa heroi1 = new Pessoa() { nome = "Jonny", idade = 20, peso = 73 };
Pessoa heroi2 = new Pessoa() { idade = 30, peso = 82, nome = "Pedro" };
Pessoa heroi3 = new Pessoa() { peso = 91, nome = "Daniel", idade = 40 };
//Desta forma passando entre as chaves, não é necessário passar valor para todos os parâmetros
Pessoa heroi4 = new Pessoa() { nome = "Jonny" };
Pessoa heroi5 = new Pessoa() { idade = 40 };
//Verifique que é possível passar os valores entre os parênteses, mas só é possível desde que exista um método que os receba.
//basta escrever o parâmetro e o valor para ele
//desde que os parâmetros estejam escritos corretos e que tenha todos que o método espera não importa a ordem passada
Pessoa heroi6 = new Pessoa(nome: "Jonny", idade: 20, peso: 73);
Pessoa heroi7 = new Pessoa(idade: 30, peso: 82, nome: "Pedro");
Pessoa heroi8 = new Pessoa(peso: 91, nome: "Daniel", idade: 40);
Pessoa heroi9 = new Pessoa(nome: "Jonny"); // <---- Erro pois na classe Pessoa não existe um método construtor que recebe apenas o nome
}
}
}