quelque chose comme string.join (",", nouvelle chaîne [] {"A", "B"}); code>, mais pour
GUID [] CODE>
var guids = new Guid[] { Guid.Empty, Guid.Empty };
var str = /* Magic */
// str = 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000
7 Réponses :
Je pensais que cela fonctionnerait?
Vous avez oublié le , code> entre les GUID;)
Cela mettra une virgule supplémentaire à la fin.
Ok, j'ai essayé de résoudre le problème des virgules rapidement. C'est non testé. J'espère que ça marche :-)
En tant que suggestion, je voudrais ajouter la virgule avant d'ajouter le GUID, mais uniquement si StringBuilder.Length> 0
var str = String.Join(",", guids.Select(g => g.ToString()).ToArray());
Je serais curieux de savoir à quelle vitesse ça marche par rapport à d'autres méthodes. Je suppose que l'agrégat n'utilise pas string.concat pour allouer correctement la mémoire.
@Brunolm - Gardez simplement à l'esprit qu'avec les grandes listes de GUID, vous pourriez rencontrer des problèmes de perf) (beaucoup de concaténation à la chaîne). Dans ce cas, vous devrez peut-être passer à la méthode StringBuilder (et supprimer manuellement la dernière virgule).
Je vais, mais j'ai donc un retard. Attendez juste 3 minutes: p
@Yuriy Faktorovich - L'agrégat utilisera toute la méthode de concaténation que vous spécifiez.
@Justin Niessner: Droite, mais si vous ne transmettez que deux arguments à String.ConCat, cela n'aura aucune amélioration sur l'opérateur +. L'opérateur +, je crois, ne me citez pas sur ceci, appelle déjà le string.concat.
String.Join(",", guids.Select(g => g.ToString()).ToArray());
.NET 4 AJOUTÉ UNE MÉTHODE GENERIC REJOIGNEZ CODE> Vous pouvez simplement transmettre le tableau CODE> GUIDS CODE> SAN DES MODIFICATIONS
Si votre cadre> = .NET 3.5
String.Join(",", (from g in guids select g.ToString()).ToArray())
.NET 4 Ajout d'un string.join
String.Join(",", guids);
String.Join(",", Array.ConvertAll(guids, g => g.ToString()));
Il semble que cette déclaration ne puisse pas passer la compilation dans VS2010?
Array.convertiplanToutes a besoin d'une classe qui implémente convertisseur
//Convert string to List<string> List<string> guidList = your_string.Split(',').ToList<string>(); //Convert string to List<Guid> List<Guid> guidList = your_string.Split(',').ToList<string>().ConvertAll<Guid>(g => new Guid(g));