如何更改ArrayList值
我想从c#中ArrayList的项中删除所有'\ 0'字符。这里是我的代码:如何更改ArrayList值
ArrayList users = um.getAllUsers(server,Instance); //user count=3
所以现在我想以replase都加一个代码“\ 0”与列表中的所有项目空字符串。
这可能吗?
首先,这是一个有点奇怪还是在2010年使用ArrayList
...也有骆驼套管名称(getAllUsers
而不是GetAllUsers
),但仍...
for (int i = 0; i < users.Count; i++)
{
string user = (string) users[i];
user = user.Replace("\0", "");
users[i] = user;
}
它在这种情况下正确无关紧要,但我会使用if(user ==“\ 0”)user = string.Empty而不是.Replace因为它不仅替换字符串是否=“\ 0”。 – 2010-08-04 10:17:36
@lasseespeholt:目前还不清楚这个问题实际上是什么意思 - 它是否只是替换整个项目或每个项目中的“\ 0”。 – 2010-08-04 10:24:43
如果你不坚持了一些古代版本的.NET的,你可能有兴趣升级您的代码使用通用List<T>收集和看看LINQ:
List<string> users = um.getAllUsers(server,Instance)
.Cast<string>()
.Select(user => user.Replace("\0", ""))
.ToList();
(我假设getAllUsers
返回一个ArrayList合作ntaining string
实例)。
是你可以,只需调用替换方法类似:
ArrayList users = um.getAllUsers(server,Instance);
for (int i = 0; i < users.Count; i++)
{
users[i] = ((String) users[i]).Replace ("\0", "");
}
但我会建议,如果你能,而不是使用ArrayList的名单。泛型对你有好处:-)
用户是什么类型?一个字符串? – w69rdy 2010-08-04 10:15:00