【发布时间】:2017-03-16 11:28:13
【问题描述】:
在 asp.net 中,我在字符串中有一些值,如下所示:
1,12,123,21,23,256 等
我希望如果我想删除 1,那么应该只从列表中删除 1,如果我想删除 12,那么应该只从列表中删除数字 12。
代码应该花费更少的时间,因为这个按钮上会有很多用户。使用字符串
replace() 和 regex ,所有出现的 1 和 12 都改变了。
我尝试了以下方法:
string llist2 = "1,12,123,23,21";
string[] vals = llist2.Split(',');
int numtorem = 1;
vals = Array.FindAll(vals, val => val != numtorem).ToArray();
这里,vals 是一个字符串数组,所以它不起作用。
然后我尝试了int[] vals = llist2.Split(',');,但 llist2 是一个字符串,所以它不会转换。如果我为转换添加更多代码,那么代码执行将过多,并且由于大量用户并行工作,页面会变慢。
注意:llist2 中的字符串来自使用选择查询的数据库。我希望我也不会被要求分享选择查询代码。
【问题讨论】:
-
1) 显示您的代码 - 不清楚您尝试了什么 2) 提供输入和输出字符串的示例 - 不清楚真实字符串的外观以及如何处理数字周围的逗号和空格
-
你能用一个 int 列表代替吗?如果是这样,那么您可以使用
list.Remove(value)来实现此行为。 -
“我在一个字符串中有一些值” - 是的,但为什么呢?将它们放在适当的结构中(例如
List<int>),以便您可以实际使用它们。不要工作“stringly typed”。 -
包含逗号的数字列表来自数据库,它们存储在数据库中的 varchar 列中。当用户单击按钮时,我需要从中删除一个数字(使用 Ajax 来避免回发)。
-
既然已经添加了代码,请大家删除您的反对票并回答问题吗?