我一直在試圖編寫一個程序,它可以掃描原始數據文件並將其規範化爲數據挖掘過程,我試圖從文件中讀取數據並將其存儲在列表中方法:修改列表中的值
public static List<Normalize> NF()
{
//Regex r = new Regex(@"^\d+$");
List<Normalize> N = new List<Normalize>();
StreamReader ss = new StreamReader(@"C:\Users\User\Desktop\NN.txt");
String Line = null;
while (!ss.EndOfStream) {
Line = ss.ReadLine();
var L = Line.Split(',').ToList();
N.Add(new Normalize { age = Convert.ToInt16(L[0]),
Sex = L[1],
T3 = Convert.ToDouble(L[2]),
TT4 = Convert.ToDouble(L[3]),
TFU = Convert.ToDouble(L[4]),
FTI = Convert.ToDouble(L[5]),
RC = L[6],
R = L[7]
});
}
return N;
}
}
struct Normalize {
public int age;
public String Sex;
public double T3;
public double TT4;
public double TFU;
public double FTI;
public String RC;
public String R;
}
此時此刻我想通過我所做的列表和分類數據,與此類似:
var X= NF();
for (int i = 0; i < X.Count; i++) {
if (X[i].age > 0 && X[i].age <= 5) { // Change the X[i].age value to 1 }
else if (X[i].age > 5 && X[i].age <= 10) { // Change the X[i].age value to 2 }
...
}
但是編譯器說,X [I] [。變量名稱]不是一個變量,不能用這種方式修改。我的問題是,什麼是執行此操作的有效方法。
定義了哪個'X'? –
@JeroenVannevel我會編輯我的問題。 – Transcendent
'struct Normalize'是一個值類型,而不是引用類型,因此你不能像這樣改變它的字段。將其更改爲'class Normalize' – Alex