Re: [問題] 請問如何搜尋特定資料複製輸出

看板C_Sharp (C#)作者 ( )時間12年前 (2013/03/26 11:20), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串5/7 (看更多)
※ 引述《ricaro ( )》之銘言: : ※ 引述《ricaro ( )》之銘言: : : 原始資料如下 : : ---- : : Peak Type a0 a1 a2 a3 : : 1 BG1st[UDF4] 5.83484411 -0.0689749 : : 2 Voigt Amp 1.53274934 -19.800359 0.47166280 0.14278921 : : Measured Values : : Peak Type Amplitude Center FWHM Asym50 FW Base : : 1 BG1st[UDF4] 7.29711128 -21.200000 0.00000000 0.00000000 : : 2 Voigt Amp 1.53274934 -19.800359 0.85969834 1.00000000 : : Peak Type Anlytc Area % Area Int Area % Area : : 1 BG1st[UDF4] Unknown 18.0272318 92.6194949 : : 2 Voigt Amp 1.49472135 1.43652346 7.38050513 : : Total 19.4637553 100.000000 : : ---- : : 我的程式是下面這樣 : : 已經把資料內容弄成string array : : 但是要輸出想要資料的時候還是有問題 : : ex. 我想要輸出有關peak 2的a0 a1 a2 a3及 Int Area : : 要輸出哪個peak的資料 我是弄成由使用者來輸入決定 因為要的資料不一定都是peak 2 : 目前做到挑出含有所需資料的列 : 接下來是想說把挑出來的列再弄成string array : 然後再想辦法把想要的資料輸出 : 不過 我用下面的程式想把挑出來的資料轉成string array : 輸出後卻是空白的 冏 : 不知道是哪裡出錯 希望各位能指點一下 : 謝謝 這是挑出來的結果 第一個for (i..)的迴圈再加上if (array..Contains(peak)) ------- 2 Voigt Amp 1.53274934 -19.800359 0.47166280 0.14278921 2 Voigt Amp 1.53274934 -19.800359 0.85969834 1.00000000 2 Voigt Amp 1.49472135 1.43652346 7.38050513 Peak 2 Voigt Amp ------- 要再加第二層for 把上面的string再轉成array 就失敗了 arrayStrings[i]是包含關鍵字(peak,是由使用者輸入決定)的字串 rowords[] 我希望是arrayStrings[i]再轉成array後的結果 這樣我就能挑選我要的數據輸出 : : ------ : for (int i = 0; i != (arrayStrings.Length); i++)//i=row# in the file : { : if (arrayStrings[i].Contains(peak)) : { : StreamWriter datainput = output.AppendText(); : string[] rowords = arrayStrings[i].Split(' '); : for (int j = 0 ; j!=arrayStrings[i].Length ; j++) : { : datainput.WriteLine(rowords[j]); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 我debug後 出現的訊息是 "清單索引的最大值必須小於清單的大小" rowords[j]的維度是21 但arrayStrings[i].Length是70 應該是這裡出問題 還想不透到底是為啥產生這種狀況 : } : datainput.Flush(); : datainput.Close(); : } : } : : ---------- 再次感謝 各位能有耐心看完 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.22.21

03/26 12:55, , 1F
Length 70是代表有70個char,又不是split後會是70個string
03/26 12:55, 1F

03/26 12:56, , 2F
明明在loop rowords,為什麼不用rowords.Length ?
03/26 12:56, 2F

03/26 13:50, , 3F
感謝! 一語驚醒夢中人~我試看看
03/26 13:50, 3F
文章代碼(AID): #1HKHG5Qd (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1HKHG5Qd (C_Sharp)