2016-04-26 88 views
-3

我正在嘗試在C#中使用visual studio和windows窗體進行此練習很長一段時間,但是,我遇到了最後幾個步驟的麻煩,沒有解決方案手冊,我可以尋求幫助。C#讀取/分割文本文件和翻轉句子練習

這裏是練習說:

  1. 讀取文件
  2. 分割文件中的行由行
  3. 推到堆棧
  4. 每行彈出每一行出來的結果窗口
  5. 保存反轉的文件(句子應該顛倒過來)。

這裏的窗戶形式應該是什麼樣子的圖片:

What the windows form should look like

這裏是一個名爲樣本.txt文件SocialJustice-SampleText.txt:

的想法社會正義本質上是一種主觀的概念。對社會制度的制定至關重要的社會創造的現實,「正義」存在於所有人的頭腦中,因爲我們每個人對正義或不公正,公平或不公平,正確或錯誤有不同看法(Tyler,1997)。反過來,這種社會創造的現實所產生的東西被認爲是社會制度頒佈時的「第一美德」(羅爾斯,1971),當政治,法律和其他管理當局受到判斷時出現的第一種標準形式Kelman和Hamilton,1989)。從院士的角度看,社會正義在道德哲學,神學,政治學,法律,社會心理學等領域取得成果。從公民的角度來看,社會正義是關於財富平等分配(Piketty,2014),健康食品平等分配(Alkon and Agyeman,2011)以及人權普遍規則相關主題的現代話語的核心作爲能夠在平等的努力下取得平等成果的優點(Cergy-Pontoise,2005; Wilkinson和Pickett,2010)。因此,社會正義是工具主義者實用主義者的本質(Fraser,1998),因爲社會正義的心理學是根據社會狀況中行爲或事件的後果和意義而預測的,而且這種意義不能在經驗(Denzin,2012)尋求解決社會正義問題的實用主義(Denzin,2012; West,1995)。研究社會正義是採取固有的道德目標(Denzin,2012; West,1995),其輸出固有地帶有政治後果。反過來,我們的社會正義觀並不是來自普遍主義的本體論,而是來自心理上對行爲的理解(Tyler,1997)。然而,關於社會正義的大部分研究都是基於工業革命的組織工作(引用),而在理解信息時代的社會正義方面卻少得多(Eubanks,2011)。隨着我們將對社會正義心理學的理解轉變爲信息時代,併爲信息時代研究提供新的前景,我們將信息,技術,社會系統和實踐的匯合概念化爲研究領域組織容器(Winter等,2014)。在本節中,我們借鑑了社會正義的心理學(Tyler,1997; cite; cite),這反過來又從組織正義的詞源學,神學和哲學根源中闡明瞭四個方面:相對剝奪,分配正義,程序正義和報應正義,這些可以被闡明爲IS中實用社會正義研究的平臺。

到目前爲止,我已經創建了兩個富文本框的表單,並且還創建了兩個按鈕「打開文件」和「分割文件」。當我點擊「打開文件」按鈕時,我也讀過.txt文件。

這裏是我基於表單的關什麼我迄今所做的樣子:

My windows form

這裏是我的全碼:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.IO; 

namespace FileExercise 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void OpenFileButton_Click(object sender, EventArgs e) 
     { 
      StreamReader objstream = new StreamReader("C:\\Users\\Omie\\Desktop\\SocialJustice-SampleText.txt"); 

      richTextBox1.Text = objstream.ReadLine(); 
     } 

     private void SplitFileButton_Click(object sender, EventArgs e) 
     { 

     } 
    } 
} 

所以我有步驟的麻煩2-5,並想知道是否有人能夠提供一個基於我已經工作過的如何去做的例子。

謝謝。

編輯:更新的代碼

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.IO; 
using System.Text.RegularExpressions; 

namespace FileExercise 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void OpenFileButton_Click(object sender, EventArgs e) 
     { 
      string TextFile = File.ReadAllText("C:\\Users\\Omie\\Desktop\\SocialJustice-SampleText.txt", Encoding.UTF8); 
      richTextBox1.Text = TextFile; 
     }  

     private void SplitFileButton_Click(object sender, EventArgs e) 
     { 

      string SplitFile = File.ReadAllText("C:\\Users\\Omie\\Desktop\\SocialJustice-SampleText.txt", Encoding.UTF8); 
      string[] SplitFileBySentence = Regex.Split(SplitFile, "."); 

      foreach (string Period in SplitFileBySentence) 
      { 
       richTextBox2.Text = Period; 
      } 
     } 
    } 
} 
+0

好吧,看起來你根本看不出什麼 - 所以,我們不爲你編碼 - 爲什麼不說出什麼不工作,你認爲它應該做什麼,而不是要求我們基本上做你的功課對你來說 – BugFinder

+0

@BugFinder那麼,我一直在堅持將第一步中的文件逐行分解,這是第二步。我不知道該怎麼做。 – Omie

+0

我想你的谷歌壞了http://stackoverflow.com/questions/1508203/best-way-to-split-string-into-lines,http://www.csharp-examples.net/read-text-file/... – BugFinder

回答

0

您可以使用

string[] readText = File.ReadAllLines("C:\\Users\\Omie\\Desktop\\SocialJustice-SampleText.txt") 

讀取所有行到字符串數組。

然後,處理循環中的每一行。我希望你可以編寫代碼來反轉這一行。

+0

我明白了。所以這將進入我的拆分字符串按鈕點擊事件,對嗎?像這樣會成爲分割線條的第一步?此外,我的「打開文件」按鈕點擊代碼是好的嗎? – Omie