如何将arraylist转换为字符串?
答案 0 :(得分:12)
ArrayList可以包含任何对象实例。因此将其转换为字符串并没有多大意义。如果你使用泛型List<string>
会更有意义,因为在这种情况下你知道它是一个字符串集合。然后你可以通过一些分隔符连接这些字符串。例如:
var list = new List<string>(new[] { "value 1", "value 2", "value 3" });
string result = string.Join("|", list.ToArray());
// at this stage result will be equal to "value 1|value 2|value 3"
答案 1 :(得分:5)
ArrayList
可能包含从Object派生的任何内容,因此我建议如下:
ArrayList sl = new ArrayList() {1, 23.33m, "hello", DateTime.Now};
var result = string.Join(",", sl.ToArray()
.Select(o => o.ToString()).ToArray());
这将为您提供一个字符串,表示以逗号分隔的所有值
希望这就是你追求的目标
答案 2 :(得分:2)
这完全不是你的意思(加上,ArrayList
现在使用率很低 - 相反看看泛型,即List<T>
) - 但如果你只想要每个的连接输出对象:
ArrayList arrayList = new ArrayList() { 1, "abc", 345.67M };
StringBuilder sb = new StringBuilder();
foreach (object obj in arrayList) sb.Append(obj);
string s = sb.ToString();
(我故意不在中间添加任何东西,比如逗号,但你可以看到它是如何扩展的)
答案 3 :(得分:1)
很难准确猜出你想要在这里发生什么。如果您可以描述ArrayList中的对象类型,您想要用于从每个对象生成字符串的方法,以及您想对这些结果字符串做什么,那么您可以获得对您的问题的有意义的答案。
例如,如果您想获取列表中每个项目的默认字符串表示形式并连接成CSV,您可以这样: -
var text = string.Join(",", myArray.Select(x => x.ToString()).ToArray());