我有一个表单,您可以在其中选择多个项目来创建代码。
EG。如果我点击" name",它会将其添加到字符串中,然后如果我点击" age"然后它会将其添加到字符串中,但是如果我取消选中" name",它会将其从字符串中删除。
我不知道如何解决这个问题。有人可以帮忙吗?
答案 0 :(得分:1)
选择List<string>
并在列表中添加/删除项目。完成后,调用string.Join
并从数组中构造一个字符串。
List<string> items = new List<string>(); // declare globally
private void add(string item)
{
items.Add(item);
}
private void remove(string item)
{
items.Remove(item);
}
private string convertArrayToString(string delimiter, List<string> elements)
{
delimiter = (delimiter == null) ? "" : delimiter;
return string.Join(delimiter, elements.ToArray());
}
注意:
优先考虑List<T>
超过string[]
将是一个很好的决定,因为此处的收集将会调整大小。看看this discussion可以帮助您解决此问题。
答案 1 :(得分:0)
只需使用List。
List<string> myList = new List<string>();
myList.Add("Somestring");
然后您可以使用以下方法:
myList.Remove
或myList.RemoveAll
或myList.RemoveAt
等等。
答案 2 :(得分:0)
为什么不使用List?它允许您轻松添加/删除元素? 如果点击名称,只需将其添加到列表中,当您取消选中名称时,将其从列表中删除, 之后,您可以将列表转换为字符串并使用它。
//Add string
var myList = new List<string>();
//After clicking:
myList.add(clickedElement);
//After uncheck
myList.remove(uncheckedElement);
//At the end, just convert your list to string to use it
var myString = string.Join(" ", myList.ToArray());