DataRow[]转成String[]高手来优化一下代码

单线程加锁 2011-05-20 04:00:17
我觉得这个方法比较麻烦,高手给优化一下,或者给一个更好的方法。

DataRow[] drArr = DtCustMailList.Select("Custid='" + CustID + "'");
if (drArr.Length == 0)
{ return; }
int drRow = 0;

string[] sendto = new string[drArr.Length];
foreach(DataRow dra in drArr)
{
sendto[drRow] = dra["CustMailAddress"].ToString();
drRow++;
}

...全文
571 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
superwang_75 2012-12-05
  • 打赏
  • 举报
回复
linq还是简单些,哈哈
menglingjun 2011-05-20
  • 打赏
  • 举报
回复
没啥好办法,就只能这么做啊。。
rx78gp01 2011-05-20
  • 打赏
  • 举报
回复
dr.ItemArray
lizhibin11 2011-05-20
  • 打赏
  • 举报
回复

var sendto = DtCustMailList.AsEnumerable().Where(p => p.Field<string>("Custid") == CustID).Select(p => p.Field<string>("CustMailAddress"));
我姓区不姓区 2011-05-20
  • 打赏
  • 举报
回复
用linq可以简单点:

string[] sendto = drArr.Select(row => row["CustMailAddress"].ToString()).ToArray();
我姓区不姓区 2011-05-20
  • 打赏
  • 举报
回复
不麻烦啊,挺好的啦……

DataRow[] drArr = DtCustMailList.Select("Custid='" + CustID + "'");
if (drArr.Length == 0)
{ return; }
int drRow = 0;

string[] sendto = new string[drArr.Length];
for(int i=0;i<drArr.Length;i++)
{
sendto[i] = drArr[i]["CustMailAddress"].ToString();
}
单线程加锁 2011-05-20
  • 打赏
  • 举报
回复
调用:doc.ReplaceItemValue("S sendto);

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧