好吧,這看起來很醜:)重構這段代碼的好方法是什麼?將一個字符串分割成一個唯一的列表 - 重構此
Users
是在屏幕上輸入的數據,並在這個例子中,我們希望不同的結果在_someDTOObject.Users
string[] userNames = Users.Split(new char[] { ',' });
string tempUserStr = "";
foreach (string user in userNames)
{
tempUserStr += user.Trim().ToUpper() + ",";
}
userNames = tempUserStr.Split(new char[] { ',' });
var uniqueUsers = userNames.Distinct().ToList();
foreach (string user in uniqueUsers)
{
if (!string.IsNullOrEmpty(user))
{
_someDTOObject.Users += user + ",";
}
}
你爲什麼分裂,然後加入,然後再分裂? – 2012-01-31 18:57:48
@JonSkeet--似乎是爲了解決他的「不同的」要求。 – EBarr 2012-01-31 18:58:38
@EBarr:不,對'Distinct()'的調用做到了這一點...... – 2012-01-31 18:59:15