C# Wert auf Liste innerhalb der Klasse ändern
Posted: 06 May 2025, 08:19
Es mag dumm aussehen, aber ich habe eine Weile aufgehört zu codieren.
Ich habe verschiedene Wege von Initiaon ausprobiert und die Taskliste verknüpft. Ich wollte eine grundlegende Taskliste für alle Mitarbeiter verwenden, ändern jedoch den Wert von nur einer Mitarbeitern Taskliste unabhängig vom Rest
Code: Select all
public class Employee
{
public string Name { get; set; }
public List tasks {get; set;}
public Employee(string name, List ListTasks)
{
Name = name;
tasks = new List();
//tasks=ListTasks;
tasks.AddRange(ListTasks);
}
}
< /code>
und eine Klasse von Aufgaben: < /p>
public class task
{
public string Titel { get; set; }
public int duration { get; set; } = 0;
public int maxDuration { get; set; }
}
< /code>
Nach der Erstellung von 2 (Mitarbeiter-) Objekten versuche ich, sie einem Emplist hinzuzufügen und die Dauer der 1-Beschäftigungsdauer (Task-) Dauer zu ändern, aber ich ändere immer beide. Was mache ich falsch? < /p>
private static void Main(string[] args)
{
var taskList = new List {
new task
{
Titel = "Bumm",
maxDuration = 4
},
new task
{
Titel = "Kaban",
maxDuration = 8
} };
Employee bla1 = new Employee("werner", taskList);
Employee bla2 = new Employee("ecki", taskList);
var empListe = new List
{
bla1,
bla2
};
// bla2.tasks[1].Dauer = 2;
empListe[1].tasks[1].duration = 2;
foreach (var name in empListe)
{
Console.WriteLine(name.Name);
foreach (var line in name.tasks)
{
Console.WriteLine("{0}: {1}/{2}",line.Titel, line.duration, line.maxDuration);
}
}
}