Est-ce que le nombre maximal de caractères peut être défini dans les chaînes de format C # comme dans C printf?
N'ai pas trouver comment faire. Ce que j'ai trouvé était plus ou moins sur les lignes de ce (http://blog.stevex.net/string-formatting-in-csharp/):
Il n'y a vraiment pas de mise en forme au sein d'une chaîne, au-delà de l'alignement. L'alignement fonctionne pour n'importe quel argument étant imprimé dans une Chaîne de caractères.Le Format de l'appel.
L'Échantillon Génère
String.Format(“->{1,10}<-”, “Hello”); //gives "-> Hello<-" (left padded to 10)
String.Format(“->{1,-10}<-”, “Hello”); //gives "->Hello <-" (right padded to 10)
source d'informationauteur char m
Vous devez vous connecter pour publier un commentaire.
Ce que vous voulez n'est pas "nativement" pris en charge par le C# mise en forme de chaîne, comme le
String.ToString
méthodes de l'objet string juste retour de la chaîne elle-même.Lorsque vous appelez
si someobject met en œuvre la IFormattable interface, la surcharge ToString(string format,IFormatProvider formatProvider) méthode est appelée, avec "xxx" comme
format
paramètre.Donc, au plus, ce n'est pas un défaut dans la conception de .NET mise en forme de chaîne, mais juste un manque de fonctionnalité dans la classe string.
Si vous en avez vraiment besoin, vous pouvez utiliser l'une des solutions de contournement proposées, ou créer votre propre classe de mise en œuvre de IFormattable interface.
Ne pouvez pas vous venez de demander la longueur des arguments en utilisant le paramètre plutôt que sur le format?
Chaîne.Format("->{0}<-", toFormat.PadRight(10)); //->Bonjour <-
Ou écrire votre propre formateur pour vous permettre de faire cela?
Pourquoi ne pas simplement utiliser Substr pour limiter la longueur de votre chaîne?
J'ai écrit un module de formatage personnalisé qui met en œuvre un "L" spécificateur de format utilisé pour définir la largeur maximale. C'est utile quand on a besoin de contrôler la taille de notre sortie formatée dire lorsqu'ils sont destinés à une colonne de base de données ou Dynamics CRM champ.
Utilisation est
Ce n'est pas une réponse sur la façon d'utiliser des chaînes de caractères.format, mais une autre façon de raccourcissement d'une chaîne à l'aide de méthodes d'extension. De cette façon, vous avez la possibilité d'ajouter de la longueur maximum de la chaîne directement, même sans chaîne.format.
exemple d'utilisation: