J'ai la méthode suivante qui prend dans un tableau de MyExampleClass et id. Le problème actuel que j'essaie de résoudre est commenté dans la méthode.Comment comparer deux tableaux et mettre à jour le second tableau avec les valeurs du premier?
public void Update(MyExampleClass[] example, int id)
{
//get the current values
var current = GetCurrentMyExampleClassValues(id);
//Compare the example and current arrays
//Update the OptedIn value for each item in the current array with the OptedIn value from the example array.
//The result is our new updated array
//Note that current array will always contain 3 items - Name1, Name2, Name3,
//but the example array can contain any combination of the 3.
var newArray = PsuedoCodeDoStuff();
var result = _myService.Update(newArray);
}
private MyExampleClass[] GetCurrentMyExampleClassValues(int id)
{
var current = new MyExampleClass[]
{
new MyExampleClass {Name = "Name1", OptedIn = false },
new MyExampleClass {Name = "Name2", OptedIn = true },
new MyExampleClass {Name = "Name3", OptedIn = false }
};
return current;
}
Comment voulez-vous comparer les éléments du tableau? Par valeur ou par identité? – hoodaticus
Il n'est pas clair pour moi si vous voulez mettre à jour le tableau transmis (exemple) avec la valeur optedIn actuelle correspondante ou viceversa – Steve
Le tableau courant aura toujours la valeur Nom1, Nom2, Nom3. Je tiens à mettre à jour la valeur OptedIn pour chacun d'entre eux en fonction de ce que l'utilisateur passe dans le tableau d'exemple. – generationalVision