兄弟伙些看这段代码有没有可以优化的地方 foreach (DataGridViewRow dgv in dataGridView4.SelectedRows) { // 中间的处理可以启动多个线程来并发处理,一次处理多条数据。线程数不宜过多} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为可能有时导有上千条指纹记录,所以很慢,可能要半个小时左右,客户无法接受1481726554&1551195742&1347506787&1431787359&1533483336&1275940431&1481847757&1548013559&1617622029&1684925376&1751132891&1819742746&1887119343&1685707008&2019638183&1952917779&270380409&68108357&135648866&202819203&269324870&68998342&135503249&201827980&808182162&757721496&556267873&640013565&673786411&741158447&539042339&606414375&-656811301&-589439265&-791555373&-724183337&-926299445&-858927409&-1061043517&-993671481&-117835013&-50462977&-252579085&-185207049&-387323157&-319951121&-522067229&-454695193&-1734763877&-1667391841&-1869507949&-1802135913&-2004252021&-1936879985&-2138996093&-2071624057&-1195787589&-1128415553&-1330531661&-1263159625&-1465275733&-1397903697&-1600019805&-1532647769&-792634603&1598840414&1515738455&1363499355&1162822217&1331642436&-1078018628&-1145390664&-2021227132&-2088599168&-1886483060&-1953855096&-1752132204&-1818406512&-1671332452&-1738186344&-535224860&-333636128&-535752212&-199944472&-402060556&-871559440&-1073675524&-1006303624&-130467260&-63095232&-265211188&-197839160&-399955244&-869453872&-1071569956&-1004198440&953802020&1021165856&550628652&617982248&952513844&875704624&-1471166354&-1474670746&-2065469564&143418539&391012976&1954979287&352386747&1794196919&798245034&643933355&7889623&1420916358&-1565525267&-686993126&-2125689365&436047489&-1544458966&321435209&-1467923220&-314872104&89746961&1788224669&-68310292&-678615382&-1560315266&1198443070&-1358609389&-908749188&1830651743&-1054919837&-1725518398&-610551950&-1508455118&-1872128469&669069289&1923878863&1807770059&1948616427&-1217840851&334707204&1959514684&1306187370&638247220&1582010889&-990702489&-979255949&-134116906&1553290541&85689753&1049244965&870116530&1393964076&809785597&-1932638260&833602992&1392690652&-1308996184&1250893389&-1992273674&2031773179&1931722294&1588732129&367833840&440548350&802834889&-925174747&-2125917354&-1429552602&299257493&1657804848&249820017&-220919224&-1889471860&617465217&-1591330953&-960548283&-1514557289&703255969&1785349441&-800643212&-1827216041&-869056995&1057226642&770876870&1253469319&1405968504&-556066317&-326487639&1039853213&-763954827&-525131075&2025651888&-1019716225&-2135104812&484005828&-1029328369&-1560020555&-74930668&2143025504&1835916270&2131255456&1093686312&100285963&1021103267&1907611921&-543011132&-492883398&313091994&-41396616&1939079907&1077211642&393773127&-1699210452&-1833403785&-390428494&455426528&1497396301&-864577524&981472934&-546116981&1749777481&1876848483&394128069&582046468&-1649085796&1205944726&-62578883&-1000835737&783503087&-624237699&-1198429602&-757216387&1545666946&-1890642827&151063433&-272627236&-1025879227&20155148&559114664&1968020908&-250397695&1092908266&1326857713&1140169326&-1991206705&-920700009&-681888434&-1551193666&-208803121&-2096085310&-363149296&-1397903697&-1600019805&-1532647769&1482250843&1549622879&1347506771&1414878807&1212762699&1280134735&1078018627&1145390663&2021227131&2088599167&1886483059&1953855095&1751738987&1819111023&1616994915&1684366951&404298267&471670303&269554195&336926231&134810123&202182159&66051&67438087&943274555&1010646591&808530483&875902519&673786411&741158447&539042339&606414375&-656811301&-589439265&-791555373&-724183337&-926299445&-858927409&-1061043517&-993671481&-117835013&-50462977&-252579085&-185207049&-387323157&-319951121&-522067229&-454695193&-1734763877&-1667391841&-1869507949&-1802135913&-2004252021&-1936879985&-2138996093&-2071624057&-1195787589&-1128415553&-1330531661&-1263159625&-1465275733&-1397903697&-1600019805&-1532647769&1482250843&1549622879&1347506771&1414878807&1212762699&1280134735&1078018627&1145390663&2021227131&2088599167&1886483059&1953855095&1751738987&1819111023&1616994915&1684366951&404298267&471670303&269554195&336926231&134810123&202182159&66051&67438087&943274555&1010646591&808530483&875902519&673786411&741158447&539042339&606414375&-656811301&-589439265&-791555373&-724183337&-926299445&-858927409&-1061043517&-993671481&-117835013&-50462977&-252579085&-185207049&-387323157&-319951121&-522067229&-454695193&-1734763877&-1667391841&-1869507949&-1802135913&-2004252021&-1936879985&-2138996093&-2071624057&-1195787589&-1128415553&-1330531661&-1263159625&-1465275733&-1397903697&-1600019805&-1532647769&1482250843&1549622879&1347506771&1414878807&1212762699&1280134735&1078018627&1145390663&2021227131&2088599167&1886483059&1953855095&1751738987&1819111023&1616994915&1684366951&404298267&471670303&269554195&336926231&134810123&202182159&66051&67438087&943274555&1010646591&808530483&875902519&673786411&741158447&539042339&606414375&-656811301&-589439265&-791555373&-724183337&-926299445&-858927409&-1061043517&-993671481&-117835013&-50462977&-252579085&-185207049&-387323157&-319951121&-522067229&-454695193&-1734763877&-1667391841&-1869507949&-1802135913&-2004252021&-1936879985&-2138996093&-2071624057&-1195787589&-1128415553&-1330531661&-1263159625&-1465275733&-1397903697&-1600019805&-1532647769&1482250843&1549622879&1347506771&1414878807&1212762699&1280134735&1078018627&1145390663&2021227131&2088599167&1886483059& Thread[] threads = new Thread[5];//我多线程应该加在哪里,对线程不熟foreach (DataGridViewRow dgv in dataGridView4.SelectedRows) { // 中间的处理可以启动多个线程来并发处理,一次处理多条数据。线程数不宜过多 } foreach (DataGridViewRow dgv in dataGridView4.SelectedRows) { iii++; if (iii % every == 0) { progressBar1.Value = iii / every; } if (dgv.Cells["ziwen"].Value.ToString().Trim() == "") { listBox2.Items.Add("导入号[" + dgv.Cells["no"].Value.ToString() + "]没有指纹记录 "); continue; } lsa = ""; no = ""; name = ""; qx = ""; zino = ""; lsa = dgv.Cells["ziwen"].Value.ToString().Trim().Substring(0, dgv.Cells["ziwen"].Value.ToString().Trim().Length - 1); no = dgv.Cells["no"].Value.ToString(); name = dgv.Cells["name"].Value.ToString(); qx = dgv.Cells["qx"].Value.ToString(); zino = dgv.Cells["zino"].Value.ToString(); listBox2.Items.Add("正在设置登记号 [" + dgv.Cells["no"].Value.ToString() + "]"); if (lsa != "") { WriteDaTa(lsa,no,name,qx,zino); } listBox2.SelectedIndex = listBox2.Items.Count - 1; }private void WriteDaTa(String a,string No,string Name,string Qx,string Zino) { lock (this) { object var; Int32[] arr2; string[] arrtemp = a.Split('&'); arr2 = new Int32[arrtemp.Length]; for (int i = 0; i < arrtemp.Length - 1; i++) { arr2[i] = Convert.ToInt32(arrtemp[i]); } a = ""; var = new System.Runtime.InteropServices.VariantWrapper(arr2); if (!axFK542PET1.SetEnrollData(mMachineNumber, Convert.ToInt32(No), mMachineNumber, Convert.ToInt32(Zino), Convert.ToInt32(Qx), ref var, 0)) { listBox2.Items.Add("导入登记号[" + No + "]" + "指号[" + Zino + "]发生失败 "); } if (Name != "") { if (axFK542PET1.SetUserName(2, mMachineNumber, Convert.ToInt32(No), Name) == false) { listBox2.Items.Add("导入姓名[" + Name + "]" + "指号[" + Zino + "]发生失败 "); } } } } private void setvlauetojh_Click(object sender, EventArgs e) { mMachineNumber = getjh(); if (mMachineNumber == 0) { return; } listBox2.Items.Clear(); string lsa = "", no = "", name = "", qx = "", zino = ""; foreach (DataGridViewRow dgv in dataGridView4.SelectedRows) { if (dgv.Cells["ziwen"].Value.ToString().Trim() == "") { listBox2.Items.Add("导入号[" + dgv.Cells["no"].Value.ToString() + "]没有指纹记录 "); continue; } lsa = ""; no = ""; name = ""; qx = ""; zino = ""; lsa = dgv.Cells["ziwen"].Value.ToString().Trim().Substring(0, dgv.Cells["ziwen"].Value.ToString().Trim().Length - 1); no = dgv.Cells["no"].Value.ToString(); name = dgv.Cells["name"].Value.ToString(); qx = dgv.Cells["qx"].Value.ToString(); zino = dgv.Cells["zino"].Value.ToString(); listBox2.Items.Add("正在设置登记号 [" + dgv.Cells["no"].Value.ToString() + "]"); if (lsa != "") { Thread thr;//这里用一个线程,但多线程怎么做,这是一行一行做,我想一次多行,早点完成 ParameterizedThreadStart delegated; object oo = (object)dgv; delegated = new ParameterizedThreadStart(WriteDaTa); thr = new Thread(delegated); thr.Start(oo); } listBox2.SelectedIndex = listBox2.Items.Count - 1; } axFK542PET1.EnableDevice(mMachineNumber, 1); listBox2.Items.Add("导入完成 "); } public void WriteDaTa(object tempdv) { lock (this) { DataGridViewRow Dv=(DataGridViewRow)tempdv; string a = "", No = "", Name = "", Qx = "", Zino = ""; a = Dv.Cells["ziwen"].Value.ToString().Trim().Substring(0, Dv.Cells["ziwen"].Value.ToString().Trim().Length - 1); No = Dv.Cells["no"].Value.ToString(); Name = Dv.Cells["name"].Value.ToString(); Qx = Dv.Cells["qx"].Value.ToString(); Zino = Dv.Cells["zino"].Value.ToString(); object var; Int32[] arr2; string[] arrtemp = a.Split('&'); arr2 = new Int32[arrtemp.Length]; for (int i = 0; i < arrtemp.Length - 1; i++) { arr2[i] = Convert.ToInt32(arrtemp[i]); } a = ""; var = new System.Runtime.InteropServices.VariantWrapper(arr2); if (!axFK542PET1.SetEnrollData(mMachineNumber, Convert.ToInt32(No), mMachineNumber, Convert.ToInt32(Zino), Convert.ToInt32(Qx), ref var, 0)) { listBox2.Items.Add("导入登记号[" + No + "]" + "指号[" + Zino + "]发生失败 "); } if (Name != "") { if (axFK542PET1.SetUserName(2, mMachineNumber, Convert.ToInt32(No), Name) == false) { listBox2.Items.Add("导入姓名[" + Name + "]" + "指号[" + Zino + "]发生失败 "); } } } } 想求一套C#的视频教程. 如何架构系统 关于html映射ASHX的问题? ★★★为什么绝大多数系统的用户名和密码不支持中文?★★★ 有一个特别奇怪的控件(gridView)问题,高分求解,在线等! 笨笨求助,C#采集网页中遇到的一个正则的写法 请问一个资源释放的问题(winform) ========== 【快来看呀】末结贴集分回收器就职宣言!!!========== 请问装了VS.NET正式版的朋友,这玩意还需要那个恶心的激活吗? 请教三层使用异步的问题 WinFrom没有添加web服务引用 c#实现网页内容转换为world
foreach (DataGridViewRow dgv in dataGridView4.SelectedRows)
{
// 中间的处理可以启动多个线程来并发处理,一次处理多条数据。线程数不宜过多
}
foreach (DataGridViewRow dgv in dataGridView4.SelectedRows)
{
iii++;
if (iii % every == 0)
{
progressBar1.Value = iii / every;
}
if (dgv.Cells["ziwen"].Value.ToString().Trim() == "")
{
listBox2.Items.Add("导入号[" + dgv.Cells["no"].Value.ToString() + "]没有指纹记录 ");
continue;
}
lsa = ""; no = ""; name = ""; qx = ""; zino = "";
lsa = dgv.Cells["ziwen"].Value.ToString().Trim().Substring(0, dgv.Cells["ziwen"].Value.ToString().Trim().Length - 1);
no = dgv.Cells["no"].Value.ToString();
name = dgv.Cells["name"].Value.ToString();
qx = dgv.Cells["qx"].Value.ToString();
zino = dgv.Cells["zino"].Value.ToString();
listBox2.Items.Add("正在设置登记号 [" + dgv.Cells["no"].Value.ToString() + "]");
if (lsa != "")
{
WriteDaTa(lsa,no,name,qx,zino);
}
listBox2.SelectedIndex = listBox2.Items.Count - 1;
}
private void WriteDaTa(String a,string No,string Name,string Qx,string Zino)
{
lock (this)
{
object var;
Int32[] arr2;
string[] arrtemp = a.Split('&');
arr2 = new Int32[arrtemp.Length];
for (int i = 0; i < arrtemp.Length - 1; i++)
{
arr2[i] = Convert.ToInt32(arrtemp[i]);
}
a = "";
var = new System.Runtime.InteropServices.VariantWrapper(arr2);
if (!axFK542PET1.SetEnrollData(mMachineNumber, Convert.ToInt32(No), mMachineNumber, Convert.ToInt32(Zino), Convert.ToInt32(Qx), ref var, 0))
{
listBox2.Items.Add("导入登记号[" + No + "]" + "指号[" + Zino + "]发生失败 ");
}
if (Name != "")
{
if (axFK542PET1.SetUserName(2, mMachineNumber, Convert.ToInt32(No), Name) == false)
{
listBox2.Items.Add("导入姓名[" + Name + "]" + "指号[" + Zino + "]发生失败 ");
}
}
}
}
{ mMachineNumber = getjh(); if (mMachineNumber == 0) { return; }
listBox2.Items.Clear(); string lsa = "", no = "", name = "", qx = "", zino = "";
foreach (DataGridViewRow dgv in dataGridView4.SelectedRows)
{ if (dgv.Cells["ziwen"].Value.ToString().Trim() == "")
{
listBox2.Items.Add("导入号[" + dgv.Cells["no"].Value.ToString() + "]没有指纹记录 ");
continue;
}
lsa = ""; no = ""; name = ""; qx = ""; zino = "";
lsa = dgv.Cells["ziwen"].Value.ToString().Trim().Substring(0, dgv.Cells["ziwen"].Value.ToString().Trim().Length - 1);
no = dgv.Cells["no"].Value.ToString();
name = dgv.Cells["name"].Value.ToString();
qx = dgv.Cells["qx"].Value.ToString();
zino = dgv.Cells["zino"].Value.ToString();
listBox2.Items.Add("正在设置登记号 [" + dgv.Cells["no"].Value.ToString() + "]");
if (lsa != "")
{
Thread thr;//这里用一个线程,但多线程怎么做,这是一行一行做,我想一次多行,早点完成
ParameterizedThreadStart delegated;
object oo = (object)dgv;
delegated = new ParameterizedThreadStart(WriteDaTa);
thr = new Thread(delegated);
thr.Start(oo);
}
listBox2.SelectedIndex = listBox2.Items.Count - 1;
}
axFK542PET1.EnableDevice(mMachineNumber, 1);
listBox2.Items.Add("导入完成 "); }
public void WriteDaTa(object tempdv)
{
lock (this)
{
DataGridViewRow Dv=(DataGridViewRow)tempdv;
string a = "", No = "", Name = "", Qx = "", Zino = "";
a = Dv.Cells["ziwen"].Value.ToString().Trim().Substring(0, Dv.Cells["ziwen"].Value.ToString().Trim().Length - 1);
No = Dv.Cells["no"].Value.ToString();
Name = Dv.Cells["name"].Value.ToString();
Qx = Dv.Cells["qx"].Value.ToString();
Zino = Dv.Cells["zino"].Value.ToString();
object var;
Int32[] arr2;
string[] arrtemp = a.Split('&');
arr2 = new Int32[arrtemp.Length];
for (int i = 0; i < arrtemp.Length - 1; i++)
{
arr2[i] = Convert.ToInt32(arrtemp[i]);
}
a = "";
var = new System.Runtime.InteropServices.VariantWrapper(arr2);
if (!axFK542PET1.SetEnrollData(mMachineNumber, Convert.ToInt32(No), mMachineNumber, Convert.ToInt32(Zino), Convert.ToInt32(Qx), ref var, 0))
{
listBox2.Items.Add("导入登记号[" + No + "]" + "指号[" + Zino + "]发生失败 ");
}
if (Name != "")
{
if (axFK542PET1.SetUserName(2, mMachineNumber, Convert.ToInt32(No), Name) == false)
{
listBox2.Items.Add("导入姓名[" + Name + "]" + "指号[" + Zino + "]发生失败 ");
}
}
} }