欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » ASP.Net » 正文

热门阅读

利用DataColumn的Expression属性取DataTable中某列内容的最大长度

创建时间:2011年08月04日 18:46  阅读次数:(10730)
分享到:
这里说的最大长度,不是指该列的最大值,而是指数据内容的Length.当然,我们可以循环DataTable中的每一行来对比该列的长度。

代码如下:
public int GetMaxLength()
{
  int maxlength=0;
  foreach(DataRow dr in dt.Rows)
  {
    if(dr["列名"].ToString().Length >max)
      {
          max=dr["列名"].ToString().Length;
      }
  }

  return maxlength;
}

这样自然也是能取到最大长度的,但因为要循环所有行,如果数据量大,性能可就要受影响了。这里本站介绍利用DataColumn的Expression属性而不循环行取列的最大长度的方法.

代码如下:
public int GetMaxLength()
{
   DataTable dt = …… //自已取的DataTable
   DataColumn maxLengthColumn = new DataColumn();
   maxLengthColumn.ColumnName = "MaxLength";
   maxLengthColumn.Expression = "len(convert(列名,'System.String'))";
   dt.Columns.Add(maxLengthColumn);
   object maxLength = dt.Compute("max(MaxLength)", "true");
   dt.Columns.Remove(maxLengthColumn);

   return Convert.ToInt32(maxLength)
}
b霳陙馷≧Kb蹚L?Yt0,g噀薔蛜哊俌UO鬴燫貧He剉蹚L堉b≧梲SO蚫\O  g汵Q薙(W鵞嶯^?h槝h謆≧梲SO z鰁OPT膥TO(u ?h婲鯪eg蹚L?購7hZP剉,g(崱l g鸑UO N FO/f憳A~剉婲鯪蚑擽孴Yt蚐 €O z廭'`齹
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论1条
  • #1楼  评论人:van  评论时间:2014-11-21 9:48:57
  • 你没考虑过内存溢出吗?
发表评论:
留言人:
内  容:
请输入问题 79+59=? 的结果(结果是:138)
结  果: