You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何从用户输入向可变大小列表添加对象?

解决CS1729错误并实现产品添加功能

错误原因

CS1729是因为你定义的Produit类没有接受单个字符串参数的构造函数,你试图用new Produit(NomProduits)这种方式创建实例,但Produit默认只有编译器自动生成的无参构造,所以会报错。另外你的逻辑存在问题:一个产品包含名称、编码、价格三个属性,不该把每个属性单独创建成Produit对象添加到列表,而是要创建一个完整的Produit实例一次性添加。

修正步骤及代码

1. 完善Produit类(可选,添加构造函数更便捷)

给Produit添加带参数的构造函数,方便快速创建完整实例:

public class Produit
{
    public string? NomProduits { get; set; }
    public string? CodeProduits { get; set; }
    public string? PrixProduits { get; set; }

    // 带参数的构造函数
    public Produit(string? nom, string? code, string? prix)
    {
        NomProduits = nom;
        CodeProduits = code;
        PrixProduits = prix;
    }

    // 保留无参构造(如需使用对象初始化器)
    public Produit() { }
}

2. 修复属性读取方法

你当前的AjouterProduits方法仅定义了内部读取逻辑但未调用,也未与列表交互。修改成可读取用户输入并返回完整产品实例的方法:

public class AttributsProduits
{
    // 读取用户输入,返回完整的Produit实例
    public static Produit LireProduitDepuisEntree()
    {
        Console.WriteLine("请输入产品名称:");
        string? nom = Console.ReadLine();
        
        Console.WriteLine("请输入产品编码:");
        string? code = Console.ReadLine();
        
        Console.WriteLine("请输入产品价格:");
        string? prix = Console.ReadLine();

        // 使用带参数构造函数创建实例
        return new Produit(nom, code, prix);
        // 若不用带参构造,可改用对象初始化器:
        // return new Produit()
        // {
        //     NomProduits = nom,
        //     CodeProduits = code,
        //     PrixProduits = prix
        // };
    }
}

3. 正确向列表添加产品

在主逻辑中调用方法,创建完整产品实例并添加到列表:

// 初始化产品列表
List<Produit> produits = new List<Produit>();

// 读取用户输入的产品并添加到列表
Produit nouveauProduit = AttributsProduits.LireProduitDepuisEntree();
produits.Add(nouveauProduit);

// 验证:输出列表中的产品信息
foreach (var prod in produits)
{
    Console.WriteLine($"名称:{prod.NomProduits},编码:{prod.CodeProduits},价格:{prod.PrixProduits}");
}

关键注意点

  • 单个Produit实例对应一个完整产品,包含三个属性,不要拆分添加。
  • 若不想添加带参数构造函数,就用new Produit() { ... }的对象初始化器方式创建实例,不要给无参构造传参数。
  • 读取输入时添加提示信息,避免用户混淆输入内容。

内容的提问来源于stack exchange,提问作者Sidepie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 18:01:17