我的目标是检查一个字符串是否包含列表中的任何字符串值,并存储该值并将其包装在HTML标签中。我有点迷失在这里。检查字符串是否包含列表中的元素并存储它
我的列表:
AccessModifiers.Add("public");
AccessModifiers.Add("private");
AccessModifiers.Add("protected");
AccessModifiers.Add("internal");
AccessModifiers.Add("protected internal");
AccessModifiers.Add("void");
比方说,我是sendind文本protected void TagListView_ItemDataBound(object sender, ListViewItemEventArgs e)
下面的代码,我要的是得到:
public List<string> AccessModifiers
{
get { return _accessModifiers ?? (_accessModifiers = new List<string>()); }
}
的价值观在一个单独的方法就将此关键字protected
和void
分配为matchedItems以包装在我的HTML标签中。感觉就像查找方法应该检查项目是否被找到,而不是整个列表,但我在这里有点失落。这是我走到这一步:
foreach (var item in AccessModifiers)
{
if (UsedItems == null) // If the session is null...
{
UsedItems = new List<string>(); // ...a new one is initiated
}
if(!UsedItems.Contains(item)) // Check if the iterated item is found in the session-list
{
bool match = AccessModifiers.Any(ArticleTextBox.Text.Contains);
string matchedItem = AccessModifiers.Find(ArticleTextBox.Text.Contains);
if (match == true)
{
string openTag = "<span class='accessModifiers'>";
string closeTag = "</span>";
string newModifier = openTag + matchedItem + closeTag;
newText = newText.Replace(matchedItem, newModifier);
UsedItems.Add(matchedItem); // Add the matchedItem (used item) to the session-list not to be iterated again
}
}
}
return newText;
我可以在这一点上只能获得关键字protected
存储,而不是void
。它似乎比我迄今为止所提出的更简单。
有一个包含方法? – 2012-08-15 06:06:57
@WaqarJanjua这就是我感到困惑的事情,对列表搜索方法不太熟悉。我想搜索正在迭代的项目的文本框,但不知道如何。 – oskarno 2012-08-15 06:25:07