0
我有幾個列的列表中的列表創建ID的塊。當我的Column1 =「AA」時,我需要爲一個塊創建一個ID。如果以前的塊包含一個ID,我應該有ID + 1。基於字段
我有這樣的事情:
Column0|Column1|
23|AA
23|AA
23|AX
23|AX
23|AX
23|AA
23|AA
23|AX
23|AA
我需要這樣的:
Column0|Column1|Column2
23|AA|1
23|AA|1
23|AX|
23|AX|
23|AX|
23|AA|2
23|AA|2
23|AX|
23|AA|3
在不同的話,我想創建的ID(序列)來識別的信息塊是包含Column1 = AA。
邊注:從列表中的順序已經是我所需要的人。
所以,我應該使用的foreach或循環?當我嘗試應用我的想法時,我感到困惑:
(_gDataID是我的列表;列類型將包含我的AA或AX或...; SeqNumberOfTempCycle是我想用「ID塊」設置的列)
int lastseq = 0;
for (int i = 0; i < _gDataID.Count; i++)
{
if (_gDataID[i].Type.ToString() == "AA")
{
//Does the previous columns has a seq?
if (_gDataID[i-1].SeqNumberOfTempCycle.ToString() == null)
{
_gDataID[i].SeqNumberOfTempCycle = lastseq + 1;
lastseq = lastseq + 1;
}
else
{
_gDataID[i].SeqNumberOfTempCycle = lastseq;
}
}
}
正如您可能注意到的,我的想法並不奏效。首先,我不能這樣做:
_gDataID[i].SeqNumberOfTempCycle = lastseq + 1;
而我的for循環沒有循環和正確設置字段。
你可以遍歷列表並保持串的電流seqnumber(如「AA」),並在每次遇到新的塊時,你增加了當前seqnumber對應字符串。 – user2971569