我有這樣的預定義的字符串數組:動態地刪除並從列表中添加其他信<>保持字母順序
string[] SkippedAreasArray = new string[] {"A", "B", "C", "D", "E", "F", "G",
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q"};
並且根據用戶輸入I填充List<string>
這樣的:
List<String> UsedAreas = new List<String>();
int RangeOfInput = (int)entity.AreasCnt;
UsedAreas = SkippedAreasArray.ToList().GetRange(0, RangeOfInput);
也從用戶輸入我得到另一個字符串包含A to Q
非重複的字母(如在SkippedAreasArray
)。
數組是這樣形成:
SkippedAreasFromForm = (txtSkippedAreas.Text).ToUpper().Split(',');
我要做的就是先 - 排序SkippedAreasFromForm
:
Array.Sort<string>(SkippedAreasFromForm);
然後我需要以下條件:
foreach (string tempAreaValue in SkippedAreasFromForm)
{
if (UsedAreas.Contains(tempAreaValue))
{
}
else
{
}
}
如果List<> UsedAreas
包含被選中的字母我想從此信中刪除列表並同時添加下一個按字母順序排列的字母。
PS
我現在看到的是我的目標不明確這裏,所以我會解釋這是什麼意思:
SkippedAreasFromForm
是需要驗證用戶輸入,那就是希望這個算法的思想。如果在某些情況下,if (UsedAreas.Contains(tempAreaValue))
返回false,那麼輸入是錯誤的,我需要返回錯誤消息。
它從你的[前一個問題]有何不同(http://stackoverflow.com/questions/ 15749935/DO-所有元素從 - 一個陣列-滿足所-某些條件確定逐另一-ST)? – MarcinJuraszek