我有个 txt文件,里面内容例如下面:-63,1,2,-62,200,220,
-41,1,2,-62,120,140,
-66,1,2,-62,220,240,
-44,1,2,-62,140,160,
-53,1,2,-62,180,200,
-46,1,2,-62,160,180,
-52,1,2,-62,170,190,
-42,2,1,-62,130,150,
-59,1,2,-62,190,210,
-48,1,2,-62,150,170,
-65,1,2,-62,210,230,
-40,1,2,-62,110,130,程序需要:比如 int a = -44, 读取txt文件,对比是否在第一竖列有 -44 这个值
{
如果有,让 k=等于第5列的值(140),
j=等于第6列的值(160)
}{
如果没有 -44 这个值在第一竖列里找到比-44大的最小相似值 比如为:-42
让 k1= -42的等于第5列的值
j1= -42的等于第6列的值在第一竖列里找到比-44小的最小相似值 比如为:-46
让 k2= -46的等于第5列的值
J2= -46的等于第6列的值
}小弟是新手,在赶毕业设计,着急死了,希望大哥大姐们多多帮忙
小弟给大家跪了
{
DataTable dt = ReadData(); int a = -44;
int k, j, k1,j1,k2,j2; DataRow[] drs=dt.Select("a="+a); if (drs.Length > 0)
{
k = Convert.ToInt32(drs[0][4]);
j = Convert.ToInt32(drs[0][5]);
}
else
{
DataTable dt2=dt.Select("a>" + a).CopyToDataTable(); DataView dv = new DataView(dt2);
dv.Sort="a";
k1 = Convert.ToInt32(dv.ToTable().Rows[0][4]);
j1 = Convert.ToInt32(dv.ToTable().Rows[0][5]); DataTable dt3 = dt.Select("a<" + a).CopyToDataTable(); DataView dv2 = new DataView(dt3);
dv2.Sort = "a desc";
k2 = Convert.ToInt32(dv2.ToTable().Rows[0][4]);
j2 = Convert.ToInt32(dv2.ToTable().Rows[0][5]);
}
} private DataTable ReadData()
{
String input;
DataTable myDataTable=new DataTable();
DataRow myDataRow; StreamReader sr = File.OpenText("c:\\test.txt"); myDataTable.Columns.Add("a",typeof(Int32));
myDataTable.Columns.Add("b",typeof(Int32));
myDataTable.Columns.Add("c",typeof(Int32));
myDataTable.Columns.Add("d",typeof(Int32));
myDataTable.Columns.Add("e",typeof(Int32));
myDataTable.Columns.Add("f",typeof(Int32)); while ((input=sr.ReadLine())!=null)
{
String[] nodes = input.Split(',');
myDataRow=myDataTable.NewRow();
for(int i=0;i<6;i++)
{
myDataRow[i] = nodes[i];
}
myDataTable.Rows.Add(myDataRow);
} sr.Close(); return myDataTable;
}