首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

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

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还是简单些,哈哈

热点排行