读书人

DataRow[]转成String[]高手来优化一上

发布时间: 2012-12-16 12:02:32 作者: rapoo

DataRow[]转成String[]高手来优化一下代码
我觉得这个方法比较麻烦,高手给优化一下,或者给一个更好的方法。


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++;
}


[最优解释]
用linq可以简单点:

string[] sendto = drArr.Select(row => row["CustMailAddress"].ToString()).ToArray();

[其他解释]

var sendto = DtCustMailList.AsEnumerable().Where(p => p.Field<string>("Custid") == CustID).Select(p => p.Field<string>("CustMailAddress"));

[其他解释]
不麻烦啊,挺好的啦……

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();
}


[其他解释]
dr.ItemArray

[其他解释]
没啥好办法,就只能这么做啊。。
[其他解释]
调用:doc.ReplaceItemValue("S sendto);
[其他解释]
linq还是简单些,哈哈

读书人网 >C#

热点推荐