algorithm - c# Add some values at List -
i write code do:
list<datarow> rows=new <datarow>(); foreach (datarow dtrow in sqlrows) { foreach (datarow dtrowid in dttrows1) { if (convert.toint32(dtrowid[0]) == convert.toint32(dtrow[1])) rows.add(dtparrow); } }
can write more effective way? may utilize linq? or other algorihtm?
p.s. sqlrows , dttrows1 list. grub table query this:"select * table name";
you utilize linq join, more efficient nested approach:
var query = dtrow in sqlrows bring together dtrowid in dttrows1 on convert.toint32(dtrow[1]) equals convert.toint32(dtrowid[0]) select ???; // dtparrow unknown. did mean dtrow? var list = query.tolist();
note if values int
values (so don't need parsing etc) cast instead:
var query = dtrow in sqlrows bring together dtrowid in dttrows1 on (int) dtrow[1] equals (int) dtrowid[0] select ???; // dtparrow unknown. did mean dtrow? var list = query.tolist();
or utilize field<t>
extension method (again, if they're int
values don't need converting):
var query = dtrow in sqlrows bring together dtrowid in dttrows1 on dtrow.field<int>(1) equals dtrowid.field<int>(0) select ???; // dtparrow unknown. did mean dtrow? var list = query.tolist();
c# algorithm linq
No comments:
Post a Comment