Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#列表项值不一致_C# - Fatal编程技术网

C#列表项值不一致

C#列表项值不一致,c#,C#,我正在向列表中添加值,它将使用新指定的值替代上一个值。我想这与引用类型和值类型有关 class EODSales { public string Sales { get; set; } public int TC { get; set; } public decimal Amount { get; set; } } class EODBO { public string Sales { get; set; } public List<EODSal

我正在向列表中添加值,它将使用新指定的值替代上一个值。我想这与引用类型和值类型有关

class EODSales
{
    public string Sales { get; set; }
    public int TC { get; set; }
    public decimal Amount { get; set; }
}

class EODBO
{
    public string Sales { get; set; }

    public List<EODSales> Values { get; set; }
}
.
.
.
.
List<EODSales> EODSalesList = new List<EODSales>();
List<EODBO> eodboList = new List<EODBO>();
.
.
.
//Inside a method - 

EODSales sales = new EODSales();
sales.Sales = "Prev";
sales.TC = 5;
sales.Amount = 500;
EODSalesList.Add(sales);

EODBO obj = new EODBO();
obj.Sales = "Baking Order";
obj.Values = EODSalesList;
eodboList.Add(obj);


//Inside another method 
EODSales sales = new EODSales();
sales.Sales = "Prev";
sales.TC = 10;
sales.Amount = 1000;
EODSalesList.Add(sales);

EODBO obj = new EODBO();
obj.Sales = "Refund";
obj.Values = EODSalesList;
eodboList.Add(obj);
class-EODSales
{
公共字符串Sales{get;set;}
公共int TC{get;set;}
公共十进制数{get;set;}
}
类EODBO
{
公共字符串Sales{get;set;}
公共列表值{get;set;}
}
.
.
.
.
List EODSalesList=新列表();
List eodboList=新列表();
.
.
.
//在方法内部-
EODSales sales=新EODSales();
sales.sales=“Prev”;
sales.TC=5;
销售额:金额=500;
EODSalesList.Add(销售);
EODBO obj=新的EODBO();
obj.Sales=“烘焙订单”;
对象值=EODSalesList;
eodboList.Add(obj);
//在另一种方法中
EODSales sales=新EODSales();
sales.sales=“Prev”;
sales.TC=10;
销售额。金额=1000;
EODSalesList.Add(销售);
EODBO obj=新的EODBO();
obj.Sales=“退款”;
对象值=EODSalesList;
eodboList.Add(obj);
我希望我的eodboList是这样的:列表中的第一项有Sales=“Baking Order”,值有“Prev”、5和500。而我在列表中的第二项有Sales=“return”,值分别有“Prev”、10和100。 我当前的代码只是将EODBO.值分配给列表中的所有其他项,这意味着我的第一个项烘焙顺序的值为“Prev”、10和100

更新 我将EODBO中的值更改为 公共EODSales值{get;set;} 这是我的密码

您正在对eodboList中的所有项目使用EODSalesList,快速修复:

class EODSales
{
    public string Sales { get; set; }
    public int TC { get; set; }
    public decimal Amount { get; set; }
}

class EODBO
{
    public string Sales { get; set; }

    public List<EODSales> Values { get; set; }
}
.
.
.
.
List<EODSales> EODSalesList = new List<EODSales>();
List<EODBO> eodboList = new List<EODBO>();
.
.
.
//Inside a method - 

EODSales sales = new EODSales();
sales.Sales = "Prev";
sales.TC = 5;
sales.Amount = 500;
EODSalesList.Add(sales);
List<EODSales> localEODSalesList = new List<EODSales>();
localEODSalesList.Add(sales);

EODBO obj = new EODBO();
obj.Sales = "Baking Order";
obj.Values = localEODSalesList;
eodboList.Add(obj);


//Inside another method 

EODSales sales = new EODSales();
sales.Sales = "Prev";
sales.TC = 10;
sales.Amount = 1000;
EODSalesList.Add(sales);
List<EODSales> localEODSalesList = new List<EODSales>();
localEODSalesList.Add(sales);


EODBO obj = new EODBO();
obj.Sales = "Baking Order";
obj.Values = localEODSalesList;
eodboList.Add(obj);
class-EODSales
{
公共字符串Sales{get;set;}
公共int TC{get;set;}
公共十进制数{get;set;}
}
类EODBO
{
公共字符串Sales{get;set;}
公共列表值{get;set;}
}
.
.
.
.
List EODSalesList=新列表();
List eodboList=新列表();
.
.
.
//在方法内部-
EODSales sales=新EODSales();
sales.sales=“Prev”;
sales.TC=5;
销售额:金额=500;
EODSalesList.Add(销售);
List localEODSalesList=新列表();
localEODSalesList.Add(销售);
EODBO obj=新的EODBO();
obj.Sales=“烘焙订单”;
obj.Values=localEODSalesList;
eodboList.Add(obj);
//在另一种方法中
EODSales sales=新EODSales();
sales.sales=“Prev”;
sales.TC=10;
销售额。金额=1000;
EODSalesList.Add(销售);
List localEODSalesList=新列表();
localEODSalesList.Add(销售);
EODBO obj=新的EODBO();
obj.Sales=“烘焙订单”;
obj.Values=localEODSalesList;
eodboList.Add(obj);

这有点不清楚,你能花点时间更好地解释你想要什么和什么不起作用,以及想要的输出吗?也许把它放到一个简单的控制台应用程序中,演示它并共享代码?我忽略了一些东西,几秒钟前我刚刚解决了这个问题。我将在一个会议上分享我的解决方案,我所做的事情证明我以前的解决方案是错误的。这就是我要找的!谢谢np,很高兴这有帮助。
class EODSales
{
    public string Sales { get; set; }
    public int TC { get; set; }
    public decimal Amount { get; set; }
}

class EODBO
{
    public string Sales { get; set; }

    public List<EODSales> Values { get; set; }
}
.
.
.
.
List<EODSales> EODSalesList = new List<EODSales>();
List<EODBO> eodboList = new List<EODBO>();
.
.
.
//Inside a method - 

EODSales sales = new EODSales();
sales.Sales = "Prev";
sales.TC = 5;
sales.Amount = 500;
EODSalesList.Add(sales);
List<EODSales> localEODSalesList = new List<EODSales>();
localEODSalesList.Add(sales);

EODBO obj = new EODBO();
obj.Sales = "Baking Order";
obj.Values = localEODSalesList;
eodboList.Add(obj);


//Inside another method 

EODSales sales = new EODSales();
sales.Sales = "Prev";
sales.TC = 10;
sales.Amount = 1000;
EODSalesList.Add(sales);
List<EODSales> localEODSalesList = new List<EODSales>();
localEODSalesList.Add(sales);


EODBO obj = new EODBO();
obj.Sales = "Baking Order";
obj.Values = localEODSalesList;
eodboList.Add(obj);