You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VB.NET嵌套For Each循环中传递GROUP_CONCAT逗号分隔的头像值

问题1:逗号分隔avatars仅返回单值的解决

你之前的写法没有对GROUP_CONCAT返回的逗号拼接字符串做拆分,相当于把image1,image2,image3整个当成单个元素存入列表,循环自然只执行一次。正确的逻辑是遍历每一行数据时,单独拆分当前行的avatars字段,再处理每个拆分后的头像地址:

Dim count As Integer = 0
For Each row As DataRow In transferstable.Rows
    ' 拆分当前行的avatars字段,自动过滤空值
    Dim avatarUrls As String() = row.Item(8).ToString().Split({","c}, StringSplitOptions.RemoveEmptyEntries)
    Dim name = Truncate(row.Item("name"), 42)
    
    ' 遍历当前行的所有头像地址
    For Each avatar As String In avatarUrls
        Dim avatarImg As Bitmap = Nothing
        Try
            ' 替换为你自己的远程Bitmap加载逻辑
            avatarImg = New Bitmap(WebRequest.Create(avatar.Trim()).GetResponse().GetResponseStream())
            ' 统一调整为15x15尺寸
            avatarImg = New Bitmap(avatarImg, New Size(15, 15))
        Catch ex As Exception
            ' 加载失败可设置默认占位图,或直接跳过当前头像
            Continue For
        End Try
        
        ' 传入拆分后的头像对象到Add方法第4位参数
        ListControl1.Add(name, row.Item("username"), row.Item("added"), avatarImg, row.Item("online"), images(count), 0)
    Next
    count += 1
Next

问题2:图片加载失败中断程序的解决

上述代码已经通过Try Catch包裹了Bitmap加载逻辑,遇到404、网络异常、文件不存在等问题时,只会跳过当前出错的头像,不会打断整个循环,剩余的180行数据可以正常处理。如果需要兼容加载失败的展示场景,可以在Catch分支里设置默认占位图片替代缺失的头像。

内容的提问来源于stack exchange,提问作者WiiLF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:06:01