c# - 如何在 C# 中使用 linq 动态添加列表中的多个项目
问题描述
我正在尝试使用 c# 中的控制台应用程序在列表中添加多个项目,但我的列表中添加了重复的项目。
谁能帮我解决这个问题?
这是我的一段代码。
public class Billionaire
{
public String Name { get; set; }
public String Country { get; set;}
public int Income { get; set; }
}
public static Billionaire billObj = new Billionaire();
public static List<Billionaire> Billionaires = new List<Billionaire>();
public static Billionaire billObj = new Billionaire();
public static List<Billionaire> Billionaires = new List<Billionaire>();
解决方案
billObj
每次调用该方法时,您都在处理相同的实例addNewBillionaire
。List 将保留对同一副本的引用,该副本在您第二次调用该方法时会更新。
要解决它,您需要在您的方法中重新初始化 billObj(如评论中给出的)。
public static void addNewBillionaire()
{
billObj = new Billionaire();
Console.WriteLine("Enter name:");
billObj.Name = Console.ReadLine();
Console.WriteLine("Enter the income:");
billObj.Income = int.Parse(Console.ReadLine());
Console.WriteLine("Enter country:");
billObj.Country = Console.ReadLine();
Billionaires.Add(billObj);
}
如果billObj
不在其他地方使用,更好的方法是将 billObj 作为方法的局部变量
推荐阅读
- django - 在内联表单集的表单中,我可以自定义 can_delete 生成的字段吗?
- flutter - Flutter 创建游戏板
- c# - 使用 LineRenderer 以编程方式使用 Edge collider 2D 绘制一条线,但对撞机在 Unity 中的位置错误
- node.js - Express中如何根据REST方法进行路由
- javascript - ReferenceError: 变量未定义 1
- python - 计算配置文件完成百分比的算法
- coldfusion - 有什么方法可以在 application.cfc 中读取 URL 查询参数以及页面请求
- maven - 如何修复番石榴 gwt 中的“mvn install”错误
- python - Pandas 将数据帧转换为没有 None 的元组数组
- c# - 如何使用 .net core 2.1 中的身份用户和角色更新现有数据库?