Visual_Basic 板


LINE

※ 引述《wind681201 (阿风~~)》之铭言: : 请输入专案类型(网站专案或者应用程式专案):asp.net : 想请问大大:我想用datatable 里面的一个栏位,转成 string() : 怎麽做比较快?效能比较好呢? : 我现在是用回圈的方式去加,但这样效能很不好。 : 我的datatable会先用select选出要的datarow,然後我只要里面其中一个栏位 : 把栏位的值,转成字串阵列 String() 。 以下是你想要做的事吗? 测试环境:.NET Framework 4.5.1 Dim st As Date '方法1 Linq to DataTable st = Date.Now Dim ValueList1 As String() = ( From a In dt.AsEnumerable() Select column2 = a("column2").ToString() ).ToArray() Response.Write(Date.Now.Subtract(st).Milliseconds & "<br />") '方法2 填入字串阵列,使用 For 回圈 st = Date.Now Dim ValueList2 As String() = New String(dt.Rows.Count - 1) {} For i As Integer = 0 To dt.Rows.Count - 1 ValueList2(i) = dt.Rows(i)("column2").ToString() Next Response.Write(Date.Now.Subtract(st).Milliseconds & "<br />") '方法3 填入字串阵列,使用 For Each 回圈 st = Date.Now Dim ValueList3 As String() = New String(dt.Rows.Count - 1) {} Dim Index As Integer = 0 For Each Row As DataRow In dt.Rows ValueList3(Index) = Row("column2").ToString() Index += 1 Next Response.Write(Date.Now.Subtract(st).Milliseconds & "<br />") '方法4 填入 List 泛型,使用 For Each 回圈 st = Date.Now Dim StringList As New List(Of String) For Each Row As DataRow In dt.Rows StringList.Add(Row("column2").ToString()) Next Dim ValueList4 As String() = StringList.ToArray() Response.Write(Date.Now.Subtract(st).Milliseconds & "<br />") --- 测试资料:200万个资料列 执行结果:(单位毫秒,测试n次,取其中2次) (1) 301 616 182 189 (2) 288 660 178 308 其中方法3最快,执行时间也最稳定,方法4的执行时间变动幅度最大 -- 携帯の待ち受けには 笑顔のMai-Kがいる --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.194.77.137
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1480086845.A.563.html ※ 编辑: fumizuki (123.194.77.137), 11/25/2016 23:14:32
1F:→ MOONRAKER: 现在不用StringBuilder了吗 11/26 11:46
2F:→ fumizuki: 因为目标是字串阵列,所以没使用 StringBuilder 11/26 12:06
3F:推 wind681201: 对,谢谢你,我会用方式一这一个,比较适合我 11/26 16:32







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP