Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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#,我有两个列表和两个其他对象。我想使用一个函数将两个不同的对象添加到两个不同的列表中 我做了以下工作: 我的名单: List<Kelner> kelnerzy = new List<Kelner>(); List<Kasjer> kasjerzy = new List<Kasjer>(); 我的函数,其中ilosc=3: private static void Dodaj_do_list<T>(List<T> objects

我有两个列表和两个其他对象。我想使用一个函数将两个不同的对象添加到两个不同的列表中

我做了以下工作:

我的名单:

List<Kelner> kelnerzy = new List<Kelner>();
List<Kasjer> kasjerzy = new List<Kasjer>();
我的函数,其中ilosc=3:

private static void Dodaj_do_list<T>(List<T> objects, int ilosc) where T : new()
    {
        for (int i = 0; i < ilosc; i++)
        {
            objects.Add(new T());
        }
    }
显示功能:

for (int i = 0; i < kasjerzy.Count; i++)
{
    Console.WriteLine(kasjerzy[i].Free);
}
但实际产出是:

False
False
False
True
True

如何修复它?

我得到5倍的真值。。。。我还添加了一个演示,其他内容正在更改您的数据。除了@shingo,我无法重现你的问题。如果我在添加元素后立即编写输出循环,我会得到五次正确的结果。尝试从自由属性上的Kasjer对象中删除public setter,构建将在某个地方失败,这将是您的问题
public bool Free{get;private set;}
问题解决了,代码中有些混乱
for (int i = 0; i < kasjerzy.Count; i++)
{
    Console.WriteLine(kasjerzy[i].Free);
}
True
True
True
True
True
False
False
False
True
True