我有一個txt檔案,資料格式大致如下:
ID:1 ; Value: 10 ; ID:2 ; Value: 20 ; ID:3 ; Value: 30 ; ID:4 ; Value: 40;
.....
想通過提取來實作結果value[0,0]="1" value[0,1]="10" 類似這種
uj5u.com熱心網友回復:
這什么邏輯,value[0,0]一直到value[0,n]?為什么不用字典【ID,Value】
uj5u.com熱心網友回復:
public class Values
{
public int id;
public int value;
public Values(int i,int v) { id = i; value = v; }
}
public List<Values> GetValues = new List<Values>();
private void button1_Click(object sender, EventArgs e)
{
string read_text = "ID: 1; Value: 10; ID: 2; Value: 20; ID: 3; Value: 30; ID: 4; Value: 40;"; // 讀取的文本
string[] arr = read_text.Replace(" ","").Split(new string[] { ";",":","ID","Value" }, StringSplitOptions.RemoveEmptyEntries);
for (int i=0;i<arr.Length;i+=2)
{
GetValues.Add(new Values(Convert.ToInt32(arr[i]), Convert.ToInt32(arr[i+1])));
}
}
uj5u.com熱心網友回復:
你標題說的逐行讀取,一行就是一組ID:1 ; Value: 10嗎?然后用字典不比二維陣列好嗎?下面是讀取txt,然后賦值給字典的代碼。
StreamReader sr = new StreamReader(path, Encoding.Default);
String line;
Dictionary<int, int> dic = new Dictionary<int, int>();
while ((line = sr.ReadLine()) != null)
{
string key = line.Split(';')[0].Replace("ID:", "").Trim();
string value = line.Split(';')[1].Replace("Value:", "").Trim();
dic.Add(int.Parse(key), int.Parse(value));
}
uj5u.com熱心網友回復:
看看這樣行不:你先逐行讀取,然后根據;splite,再根據:splite
var str="ID:1 ; Value: 10 ; ID:2 ; Value: 20 ; ID:3 ; Value: 30 ; ID:4 ; Value: 40;".splite(';');
int[][]=arr=new [行數][];
for(int i=0;i<str.length;i++){
//第一個
arr[0][0]=str[i].splite(':')[1];
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/63488.html
標籤:C#
上一篇:請問這是什么軟體
下一篇:c# rdlc
