2017-04-21 1 views
0
string[] B = C.OfType<object>().Where(o =>o != null).Select(o => o.ToString()).ToArray(); 

J'essaie de convertir tableau C-string[] mais, Array C ont beaucoup de null et j'espère null changement " " Que dois-je faire?Comment convertir Array pour String [] en C#

+0

essayer cette chaîne [] B = C.OfType () .Lorsque (o => o = null!) .Select (o => o.ToString()) ToArray(). – Reddy

Répondre

0

Cela devrait fonctionner:

var B = C.OfType<string>().Select(o => o ?? " ").ToArray(); 

.OfType<string>() filtrera toutes les valeurs non-chaîne de C.

.Select(o => o ?? " ") sélectionnera la valeur ou " " si la valeur était nulle.

et .ToArray() prendra le IEnumerable et le transformera en string[].

2

Vous n'avez pas besoin OfType<object>(), il suffit d'appeler string.Concat:

var s = string.Concat(C.ToArray()); 

Si vous regardez la documentation:

La méthode concaténer chaque objet dans args en appelant la méthode ToString parameterless de cet objet ; il n'ajoute aucun délimiteur. String.Empty est utilisé à la place de tout objet nul dans le tableau. '