推 aluuser:謝謝 07/05 23:05
: [問題描述]
: 1.在C#有什麼方法可以把.txt存成陣列的嗎?
應該是沒有方法直接做這件事吧
不過你可以用讀檔的方式將讀出來的資料存成陣列
而且如果你不確定你檔案中資料比數的話建議可以改用一般化的串列
以下用一個範例說明一下
EX: 如果你的資料格式是以空白分隔,分別有ID以及Name的部份
023 斷腳小明
024 中風大胖
025 爆炸小美
... .......
1. 我們先宣告一個存放資料的類別
Class Data
{
private int uid=-1;
public int ID
{
get { return uid; }
set { uid = value; }
}
private uname="";
public string Name
{
get { return uname; }
set { uname = value; }
}
}
2.然後在你程式中利用下面程式碼以及上面宣告的資料類別
將檔案中存放料轉換成物件存放至List串列中,
以下是沒有做例外處理的簡單範例
List<Data> dataList=new List<Data>();
//自data_file.txt讀取檔案
StreamReader dataRead=new StreamReader("data_file.txt");
string dataLine="";
while(dataLine=dataRead.ReadLine()!=null)
{
//將每一行資料做分割存在字串陣列中
string[] dataArray=dataLine.Split(OB' ');
//將ID部分轉型成int,一般都會做例外處理避免轉型失敗,這我就不做了
int uid = int.Parse(dataArray[0]);
//生成Data資料物件並將資料存放置相對硬的屬性的屬性中
Data dataObj=new Data();
dataObj.ID=uid;
dataObj.Name=dataArray[1];
//將生成完成的資料物件,存放至List<Data>中
dataList.Add(dataObj);
}
dataRead.Close();
3.然後要比較的話其實也跟你作法類似,值不過是traversal
List中的Data物件然後把它的ID及Name屬性取出做你要的動作
這裡我就不再寫啦..XD
: 2.在這情況我是要寫兩個.txt檔嗎?( 1.txt存編號 2.txt存名字 )
: 還是寫一個.txt檔他會自己分別存成兩行多列?
: 謝謝指教
其實都沒差都可以達成你的需求,看你怎麼實作
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 134.208.2.196