创建CSV字符串vb.net的只读属性
获取(对象)列表并添加只读属性(显示对象属性之一的csv列表)的最佳方式是什么?是否有一种通过指定“Name”将该列表转换为字符串的好方法 Ex创建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) 我在想,需要在这里为每个人
对象=新项目()
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(“,”)删除了单行中的尾随逗号。