我想從c#中ArrayList的項中刪除所有'\ 0'字符。這裏是我的代碼:如何更改ArrayList值
ArrayList users = um.getAllUsers(server,Instance); //user count=3
所以現在我想以replase都加一個代碼「\ 0」與列表中的所有項目空字符串。
這可能嗎?
我想從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