逗号分隔的字符串集合

时间:2013-05-28 08:30:30

标签: asp.net-mvc-3 web-services

CommaDelimitedStringCollection commaStr = new CommaDelimitedStringCollection();
string itemList = Convert.ToString(HIGList[i].AccountId) + '$' + "HIG" + ',' + '$';
commaStr.Add(itemList);
HigList = HigList + commaStr;

当我尝试执行此操作时,它会显示错误,如

  

值可能不包含','

2 个答案:

答案 0 :(得分:1)

CommaDelimitedStringCollection旨在生成以逗号分隔的字符串。它意味着你向它添加值,当你调用它的ToString()方法时,你会得到每个值之间用逗号分隔的值。

这就是为什么它不允许你在其中添加(非转义)逗号,的值,因为它违反了它的用法。

例如:

var csv = new CommaDelimitedStringCollection();
var cities = new[] { "New York", "Log Angeles", "Toronto", "San Francisco" };

foreach (var city in cities)
{
    csv.Add(city);
}

Console.WriteLine(csv.ToString()); // will output: New York,Log Angeles,Toronto,San Francisco

在你的情况下:

CommaDelimitedStringCollection commaStr = new CommaDelimitedStringCollection();
string itemList = Convert.ToString(HIGList[i].AccountId) + '$' + "HIG" + ',' + '$';
commaStr.AddRange(itemList.Split(','));
HigList = HigList + commaStr;

答案 1 :(得分:0)

错误消息告诉您问题的确切位置,并且可以立即从代码中看到...您正在尝试将包含逗号的字符串添加到逗号分隔字符串集合中。显然,这没有任何意义,因此抛出异常。