-2
我有數據看起來具有以下格式。我想爲每個「ran」創建一個新的2列數組,並在後面加上相應的運行名稱。將文本數據的部分保存到數組中
Ran: Efg (space between : and E)
1 50 (tab delimited)
2 52 (tab delimited)
3 54 (tab delimited)
Ran: pg2 (space between : and E)
1 40 (tab delimited)
2 60 (tab delimited)
3 80 (tab delimited)
Ran: 2 (space between : and E)
1 14 (tab delimited)
2 15 (tab delimited)
3 16 (tab delimited)
到目前爲止,我有一個問題,使用下面的,因爲它給了我一個無限循環,但我不知道怎麼回事,從以前的
public void openDVHToolStripMenuItem_Click (object sender, EventArgs e){....}
public static string resulttext
{
get { return resulttext; }
}
訪問字符串resulttext其次,到目前爲止,我已經得到了以下幾個數組來分隔待數組的名稱。
private void button1_Click(object sender, EventArgs e)
{
Dictionary<string, List<string>> Darray = new Dictionary<string, List<string>>();
using (StringReader reader = new StringReader(resulttext))
{
string line;
string ran = "Ran:";
string region = "";
while (null != (line = reader.ReadLine()))
{
if (line.Contains(ran))
{
string[] splitHeader = line.Split(":".ToCharArray());
region = splitHeader[1].Trim();
}
else
{
if (!line.Contains(ran))
{
List<string> Dlist = new List<string>();
Darray.Add(region, Dlist);
}
}
}
foreach (var item in Darray)
{
richTextBox2.AppendText(item + Environment.NewLine);
}
}
}
我必須能夠稍後調用每個數組,並對這兩個數字列的值做一些基本的數學運算。
有什麼建議嗎?
什麼給你一個無限循環? –
爲什麼不把整個文件讀入列表或Tuple,然後一旦你設置了正確的代碼行,在指定的delim上分割(),然後決定如何循環收集和處理。我會建議查找如何將文件加載到字典或HashSet,HashList,HashTable等列表等..有太多的選項,然後處理從那裏的數據.. –
MethodMan
@ selman22,使用get {return resulttext; }使視覺工作室給我一個消息,說明它是一個無限循環。 – crazian