Merci pour la réponse voila le code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| //List<Param>[] listParam = new List<Param>[listCL[lol].Fonctions.Count + 1];
List<List<Param>> listParam = new List<List<Param>>();
for (int i = 0; i < listCL[lol].Fonctions.Count; i++)
{
listParam.Add(new List<Param>());
//listParam[i] = new List<Param>();
int index = 0;
for (int j = 0; j < listCL[lol].Online.Count; j++)
{
if (listCL[lol].Online[j].Parent == listCL[lol].Fonctions[i] && listCL[lol].Online[j].TypeParam == "Value")
{
listParam[i].Add(new Param());
listParam[i][index] = listCL[lol].Online[j];
index++;
}
}
for (int j = 0; j < listCL[lol].Offline.Count; j++)
{
if (listCL[lol].Offline[j].Parent == listCL[lol].Fonctions[i] && listCL[lol].Offline[j].TypeParam == "Value")
{
listParam[i].Add(new Param());
listParam[i][index] = listCL[lol].Offline[j];
index++;
}
}
for (int j = 0; j < listParam[i].Count - 1; j++)
{
if (listParam[i][j].Name.Contains("-")) { listParam[i][j].Name = listParam[i][j].Name.Replace("-", "_"); }
if ((listParam[i][j] as ParamValue).unite.Contains("ms")) { listParam[i][j].Value = (Convert.ToDouble(listParam[i][j].Value) / 1000).ToString().Replace(",", "."); (listParam[i][j] as ParamValue).unite = (listParam[i][j] as ParamValue).unite.Replace("ms", "s"); }
if ((listParam[i][j] as ParamValue).unite.Contains("0.01In")) { listParam[i][j].Value = (Convert.ToDouble(listParam[i][j].Value) * Convert.ToDouble(listCL[lol].GetValue("TC_CIRC_I_IN_SEC")) / 100).ToString().Replace(",", "."); (listParam[i][j] as ParamValue).unite = "A"; }
}
} |
En commentaire il y a le code quand j'ai essayé avec un tableau de listes au lieu d'une liste de listes mais j'avais le même résultat;
Par exemple l'oppération:
if (listParam[i][j].Name.Contains("-")) { listParam[i][j].Name = listParam[i][j].Name.Replace("-", "_"); }
changeait aussi la valeur contenu dans listeCL.
Partager