我有一个DataTable数据源 里面有
/1
/1
//2
//2
///3
////4
//2
///3
///3
没有下级取本身。有下级的就取下级,本身就不取,第几个下级前面就几跟/,像第4个下级,前面就是四个/,然后后面跟个4。以此类推。像上面的值我应该取
/1
//2
////4
///3
///3
怎么写个递归 从里面把值拿出来或者别的办法
比如是2,那么求,substring(0,2)=='2.'就可以了
从你给的数据中看不出Datatable的格式。
假设它只有一列,并且判断下级的条件为下级=上级+0.1。
那么下面的代码可以给出你想要的结果。
var dt = new DataTable();
double b = 0;
dt.Columns.Add("1",b.GetType());
dt.Rows.Add(1);
dt.Rows.Add(1);
dt.Rows.Add(2);
dt.Rows.Add(2);
dt.Rows.Add(2.1);
dt.Rows.Add(2.1);
dt.Rows.Add(3);
dt.Rows.Add(3.1);
dt.Rows.Add(3.1);
dt.Rows.Add(3.2);
bool a=false;
foreach (DataRow row in dt.Rows)
{
double c = (double)row.ItemArray[0];
if (a){
if (b + 0.1 == c)
{
Console.WriteLine(c);
a = false;
}
else
{
Console.WriteLine(b);
b = c;
a = true;
}
}
else
{
b = (double)row.ItemArray[0];
a = true;
}
}