How to align strings in C # using string.Format () function?

Conclusion is a word document (docx).

I would like to do outuput like this using a C # 4.0.Format line:

string1: stringValue1,  string2:stringValue2
string4: stringValue4,  string5:stringValue5
string6: stringValue6,  string7:stringValue7
string8: stringValue8,  string9:stringValue9

I use string.Format("{0,-10} {1,-10}",string1,string2)but does nothing. Is there a way to align strings using string.Format ()? I saw the '\ t' solution, but how to add it to string.Fornmat ()?

Here is my code and my output:

string titel = HttpUtility.HtmlEncode(docItem.Title);
                    string href = docItem.FullURL;
                    string title = string.Format("{0}", titel);
                    string author = docItem.Author;
                    string date = docItem.ChangedDate.Date.ToShortDateString();
                    CreateTextBoxConentParagraph(doc, string.Format("Title: <a href='{0}'>{1}</a> Author: {2} Geändert an: {3}",href,title.PadRight(20),author.PadRight(20), date),string.Format("chunkId_{0}", i++));

Conclusion: Title: Author: aaa Geändert an: 04/19/2013

Title: second Author: aaa Geändert an: 04/18/2013

Title: slika Author: aaa Gendert an: 04/18/2013

Title: dm Author: aaa Geändert an: 04/18/2013

Title: Matthias Author: aaa Geändert an: 04/19/2013

Title: QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQq Author: aaa Geändert an: 04/19/2013

+5
source share
5

DOCX, Office Open XML. ( . .)

, , .

, , DOCX.

, .

+1

PadLeft PadRight. :

string.Format("{0} {1}",string1.PadRight(25),string2.PadRight(25)) 

. MSDN:

string str = "forty-two";
char pad = '.';
Console.WriteLine(str.PadRight(15, pad));    // Displays "forty-two......".
Console.WriteLine(str.PadRight(2,  pad));    // Displays "forty-two".
+8

, , , .

However, if you want a comma after the value and add padding after it, you need to put the comma in the value and then format it.

Example:

string string1 = "asdf";
string string2 = "ffs";
string string3 = "What about me?";
string string4 = "gahah";
string string5 = "kjshdfkjh";
string string6 = "fg";
string string7 = "kkkdd";
string string8 = "asdasdf";
string string9 = "jjfjj";

Console.WriteLine(String.Format("string1: {0,-10} string2: {1,-10}", string1 + ",", string2));
Console.WriteLine(String.Format("string4: {0,-10} string5: {1,-10}", string4 + ",", string5));
Console.WriteLine(String.Format("string6: {0,-10} string7: {1,-10}", string6 + ",", string7));
Console.WriteLine(String.Format("string8: {0,-10} string9: {1,-10}", string8 + ",", string9));

Conclusion:

string1: asdf,      string2: ffs
string4: gahah,     string5: kjshdfkjh
string6: fg,        string7: kkkdd
string8: asdasdf,   string9: jjfjj
+4
source

Part of the import from the example below

String.Format("{0,-12}{1,8}{2,12}{1,8}{2,12}{3,14}\n",
                                      "City", "Year", "Population", "Change (%)")

Check out the following MSDN example.

public static void Main()
    {
        // Create array of 5-tuples with population data for three U.S. cities, 1940-1950.
        Tuple<string, DateTime, int, DateTime, int>[] cities = 
      { Tuple.Create("Los Angeles", new DateTime(1940, 1, 1), 1504277, 
                     new DateTime(1950, 1, 1), 1970358),
        Tuple.Create("New York", new DateTime(1940, 1, 1), 7454995, 
                     new DateTime(1950, 1, 1), 7891957),  
        Tuple.Create("Chicago", new DateTime(1940, 1, 1), 3396808, 
                     new DateTime(1950, 1, 1), 3620962),  
        Tuple.Create("Detroit", new DateTime(1940, 1, 1), 1623452, 
                     new DateTime(1950, 1, 1), 1849568) };

        // Display header 
        string header = String.Format("{0,-12}{1,8}{2,12}{1,8}{2,12}{3,14}\n",
                                      "City", "Year", "Population", "Change (%)");
        Console.WriteLine(header);
        string output;
        foreach (var city in cities)
        {
            output = String.Format("{0,-12}{1,8:yyyy}{2,12:N0}{3,8:yyyy}{4,12:N0}{5,14:P1}",
                                   city.Item1, city.Item2, city.Item3, city.Item4, city.Item5,
                                   (city.Item5 - city.Item3) / (double)city.Item3);
            Console.WriteLine(output);
        }
    }
+2
source

you can see the second code example http://msdn.microsoft.com/en-us/library/system.string.format.aspx .

I also used padLeft and padRight methods

0
source

All Articles