3

職場でプロジェクトの計画を容易にするために Windows アプリケーションを実装していますが、txt ファイルを適切に構造化する賢い方法があるかどうか疑問に思っていました。

このアプリケーションは非常にシンプルで、ほとんどの場合、ユーザーに質問を与え、その質問に対する回答がテキスト ボックスの下に表示されます。次に、質問と回答の両方がファイルに送信されますが、非常に粘着性があります。

例:

質問?回答!質問?回答!

私はそれがもっとこのようになりたいです:

質問?
答え!

質問?
答え!

他のタイプのファイルにも興味がありました.txtと同じようにPdfまたはMSワードを使用することは可能ですか?

4

3 に答える 3

3

File.AppendAllLines()さまざまな文字列を配列として使用して渡すことができます。これらは、テキスト ファイル内で別々の行として表示されます。using System.IOまた、ファイルの先頭にa を追加する必要があります。

例えば:

// Ensure file exists before we write
if (!File.Exists("<YOUR_FILE_PATH>.txt"))
{
    using (File.CreateText("<YOUR_FILE_PATH>.txt")) {}
}

File.AppendAllLines("<YOUR_FILE_PATH>.txt", new string[] {
    "Question1",
    "Answer1",
    "Question2",
    "Answer2",
    "Question3",
    "Answer3"
});

これがあなたの求めているものであることを願っています-質問は少しあいまいです.

Word および PDF ファイルに関しては、これはより複雑です。Word に関する StackOverflow の質問へのリンクは次のとおりです。

C# で Word 文書を作成するにはどうすればよいですか?

そしてPDFについて:

C#で実行時にPDFファイルを作成する

于 2012-08-09T12:46:21.350 に答える
1

使用できる単純なテキストファイルの場合

StringBuilder fileData = new StringBuilder();
fileData.AppendLine("Question: blah! blah! blah! blah!");
fileData.AppendLine("Answer: blah! blah! blah! blah!");

FileStream fs = new FileStream("yourFile.txt", FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
sw.Write(fileData.ToString());
sw.Flush();
fs.Flush();
fs.Close();

しかしもちろん、それはあなたにその大胆な質問の風味を与えることはありません.

MS Wordの相互運用性については、こちらをご覧ください

于 2012-08-09T12:40:16.483 に答える
1

機能について言及したかったString.Format

あなたがあなたの弦を持っていると仮定して、あなたquestionanswerいくつかのことをすることができます

using (var stream = new StreamWriter('myfile.txt', true)) // append=true
  stream.Write(String.Format("\n{0}\n{1}\n\n{2}\n", 
                             question, 
                             new String('=',question.Length), 
                             answer);

のようなテキストファイルを取得するには

Question 1
==========
Answer

Second Question
===============
Answer

String.Trim()onを使用しquestionて先頭と末尾の空白 ( question = question.Trim()) を削除すると、「下線」効果が見栄えがよくなります。

于 2012-08-09T13:00:42.953 に答える