如何在 C 尖锐中添加类属性的对象到列表中
本文关键字:属性 对象 列表 添加 | 更新日期: 2023-09-27 18:35:21
我无法将类实例正确添加到列表中。它仅添加最后一个对象。当我调试列表词汇表时,仅显示添加最后一个类实例。因此,通过第二次循环,它有两个第二个对象的条目,通过第三次循环,它有三个第三个对象的条目。我做错了什么。这是我的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace myVocabulary
{
public class Word
{
string _original_word;
string _translated_word;
public string Original_Word
{
get
{
return this._original_word;
}
set
{
this._original_word = value;
}
}
public string Translated_Word
{
get
{
return this._translated_word;
}
set
{
this._translated_word = value;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace myVocabulary
{
class Program
{
static List<Word> vocabulary = new List<Word>();
static void Main(string[] args)
{
Word entry = new Word();
for (int i = 0; i < 5; i++)
{
Console.WriteLine("Enter word");
entry.Original_Word = Console.ReadLine();
Console.WriteLine("Enter Translation");
entry.Translated_Word = Console.ReadLine();
vocabulary.Add(entry);
}
}
}
}
试试这个 - 你需要在循环的每次迭代中创建一个新的Word
对象,否则你只是重复覆盖同一个实例。
namespace myVocabulary
{
class Program
{
static List<Word> vocabulary = new List<Word>();
static void Main(string[] args)
{
for (int i = 0; i < 5; i++)
{
Word entry = new Word();
Console.WriteLine("Enter word");
entry.Original_Word = Console.ReadLine();
Console.WriteLine("Enter Translation");
entry.Translated_Word = Console.ReadLine();
vocabulary.Add(entry);
}
}
}
}