2016-03-22 3 views
1

Ich möchte Zeichenfolgen in meiner Normliste verketten, aber sie ersetzen einander nicht verketten. Hier ist der Code. Ich habe die Methoden string.join, string.concat und aggregiert verwendet, aber keiner von ihnen hat ihre Aufgabe erfüllt.String in Liste ersetzt vorherige Indexzeichenfolgen beim Verketten

List<string> norm = new List<string>(); 
      Application application = new Application(); 
      Document doc = application.Documents.Open(@"E:\abdullah\import.docx",false,true); 
      foreach (Paragraph paragraph in doc.Paragraphs) 
      { 

       Style style = paragraph.get_Style() as Style; 
       string styleName = style.NameLocal; 
       int count = 0; 
       if (styleName == "Heading 1") 
       { 

        count++; 
       } 
       else 
       { 

         string text = paragraph.Range.Text; 
         norm.Add(text); 


       } 

      } 
      for (int i = 0; i < norm.Count;i++) 
      { 
       Console.WriteLine(norm[i]); 
      } 
      string a=string.Join(string.Empty, norm); 
      Console.WriteLine(a); 
      doc.Close(); 
      application.Quit(); 

      Console.ReadKey(); 
+0

Ich denke String.Empty wäre kein gültiges Trennzeichen? Hast du versucht, etwas anderes zu benutzen? Und haben Sie überprüft, ob "Norm" das enthält, was Sie erwarten? –

Antwort

0

Haben Sie versucht, einen StringBuilder zu verwenden?

var sb = new StringBuilder(); 
    foreach (var nor in norm) 
    { 
     sb.Append(nor); 
    } 
    Console.WriteLine(sb.ToString()); 
+0

String Builder funktioniert auch nicht. Jede Zeichenfolge in einer Liste, die einen Satz und in der Ausgabe enthält, bleibt nur ein einzelner letzter indizierter Satz. –

+0

@AbdullahKhan Ist der Code, den Sie in einer Methode gepostet haben, die von mehreren Threads verwandt wird? Ist Ihre Norm-Liste lokal für diese Methode/diesen Codeblock? – Andrew

+0

Ich denke, es wird von mehreren Threads verwendet, denn wenn es versucht, doc-Datei zu lesen, gibt es eine Datei in Verwendung ist promp, das ist, warum ich den readonly-Parameter wahr beim Lesen der Datei. Norm ist lokal zur Hauptmethode. –