2011-09-01 78 views
0

我有一個dataTextBox字段(3行)的數組。 我需要刪除每行中的第一個符號。 我試圖用只有線條來做,但我不能。此代碼不會執行任何操作。 如何編寫正確的代碼?謝謝!從dataTextBox中刪除每個陣列行中的第一個simbol

var lines = this.dataTextBox.Lines; 
var sLines = Convert.ToString(lines[0]); //Converting first line to "String". 
char[] ch = sLines.ToCharArray();  //Converting first line to "CharArray". 
char s = sLines[0];      //I took the first letter from first line. 
string x = Convert.ToString(s);  //Converting to "String" the first letter from first line. 
string b = x.Replace(x, "");  //Replacing the first letter from first line on "" symbol. 
this.dataTextBox.Lines = lines.ToArray(); 

回答

0
this.dataTextBox.Lines = this.dataTextBox.Lines.Select(s => s.Substring(1)).ToArray(); 

順便說......你的代碼的東西,但你分配給lines雖然this.dataTextBox.Lines你從未改變lines。該變化僅在b ...

+0

謝謝!完善!!! – user922907

+0

大聲笑...發佈相同的答案3分鐘後,併爲您的煩惱複選標記... – dlev

+0

對不起,我似乎打字太慢... :) –

5
this.dataTextBox.Lines = 
    this.dataTextBox.Lines.Select(x => x.Substring(1)).ToArray(); 

這將項目中的每個線到沒有第一字符相同的行,然後轉換一切恢復的陣列,因此它可以被分配回Lines

請注意,這假設所有行至少有一個字符;如果情況並非如此,它會拋出異常。如果這是一個問題,您可以在Select()之前添加一個.Where(x => x.Length > 0)

+0

+1因爲你更快;) –

0

不確定您是指僅僅修剪第一個字符,還是刪除每行中第一個字符的所有出現。 dlev的回答涵蓋了第一種情況,這包括第二:

this.dataTextBox.Lines = 
    this.dataTextBox.Lines.Select(x => x.Replace(x[0], "").ToArray() 
+0

謝謝你的回答! – user922907

相關問題