Enumerable.Union
Exclut les doublons, vous n'obtenez donc qu'une seule instance vide.
Essayer d'utiliser Concat
Au lieu.
Question
Compte tenu de cette méthode, la chaîne résultante créée laisse tomber les valeurs nulles consécutives. Est th ??
être utilisé mal ci-dessous? Il se comporte comme s'il concarente toutes les valeurs nulles indexées contenant une
public static IEnumerable<string> ToCsv<T>(string separator, IEnumerable<T> objectlist)
{
FieldInfo[] fields = typeof(T).GetFields();
PropertyInfo[] properties = typeof(T).GetProperties();
yield return String.Join(separator, fields.Select(f => f.Name).Union(properties.Select(p => p.Name)).ToArray());
foreach (var o in objectlist)
{
var pp = properties.Select(
p => (p.GetValue(o, null) ?? String.Empty));
var val = string.Join(separator, fields.Select(f => (f.GetValue(o)).ToString() )
.Union(pp).ToArray());
;
yield return val;
}
}
Voici mon tableau
[0]"0001020003"
1] "Bob Jones"
2] null
3] null
4] "Longboat"
Avec ce tableau, la chaîne jointe créée est ...
"0001020003, Bob Jones, Longboat"
La solution
Enumerable.Union
Exclut les doublons, vous n'obtenez donc qu'une seule instance vide.
Essayer d'utiliser Concat
Au lieu.