创建CSV字符串vb.net的只读属性

创建CSV字符串vb.net的只读属性,vb.net,class,properties,Vb.net,Class,Properties,获取(对象)列表并添加只读属性(显示对象属性之一的csv列表)的最佳方式是什么?是否有一种通过指定“Name”将该列表转换为字符串的好方法 Ex 对象=新项目() Object.ID=1 Object.Name=“Test” li.Add(Object) 对象=新项目() Object.ID=2 Object.Name=“测试2” li.Add(Object) 对象=新项目() Object.ID=3 Object.Name=“测试3” li.Add(Object) 我在想,需要在这里为每个人

获取(对象)列表并添加只读属性(显示对象属性之一的csv列表)的最佳方式是什么?是否有一种通过指定“Name”将该列表转换为字符串的好方法

Ex

对象=新项目()
Object.ID=1
Object.Name=“Test”
li.Add(Object)

对象=新项目()
Object.ID=2
Object.Name=“测试2”
li.Add(Object)

对象=新项目()
Object.ID=3
Object.Name=“测试3”
li.Add(Object)



我在想,需要在这里为每个人做一个选择,或者有更好的方法吗?

从列表值返回“测试、测试2、测试3”

基本上,这就是我想要做的,但我想知道是否有更好的方法

Public ReadOnly Property ItemList() As String
        Get
            Dim returnvalue As String = String.Empty
            If Items.Count > 0 Then
                For Each Item In Items
                    returnvalue = returnvalue & Item.Name & ", "
                Next
                Return Left(returnvalue, returnvalue.Length - 2)
            Else
                Return ""
            End If
        End Get
    End Property

我有这个链接分享,解决方案是类似的,可能需要一些tweek。从C#到VB的转换非常简单,可以告诉您在哪里进行一些更改。

但是,我相信您的代码是好的,除了如何创建csv字符串。 我建议使用字符串生成器。这样,如果一个项目存在,您就可以构建一个新行。否则,你不会。这将使您无需删除(左)最后插入的逗号。您还希望捕获列表中的最后一项,并避免在末尾使用逗号

作为一名exmaple:

Dim sb As StringBuilder
--if not last item then --
sb.AppendFormat ("{0},{1}",Item.Name,",")
--else this is last item--
sb.AppendFormat ("{0},",Item.Name)
我共享的链接是一个更好的解决方案。我的例子只是为了让你的方法更可靠

或者,如果将对象列表更改为数组或字符串列表

Dim sampleList = New List(Of String)() From { _
  "lala", _
  "lulu", _
  "lele" _
}
Dim data = String.Join(",", sampleList)

看起来stringbuilder可以工作了。最后,我使用sb.ToString().TrimEnd(“,”)删除了单行中的尾随逗号。