设置
我有这三个清单。
List<List<string>> tokens = new List<string>();
List<string> token = new List<string>();
List<string> sets = new List<string();
token
将在列表中的一个完整tokens
列表。
{"<card>"",
" <name>Domri Emblem</name>",
" <set picURL="http://magiccards.info/extras/token/Gatecrash/Domri-Rade-Emblem.jpg" picURLHq="" picURLSt="">GTC</set>",
" <color></color>",
" <manacost></manacost>",
" <type>Emblem</type>",
" <pt></pt>",
" <tablerow>0</tablerow>",
" <text></text>",
" <token>1</token>",
"</card>"}
sets
列表看起来像这样。
{"ARB", ..., "AVR", ..., "GTC", ..., "ZEN"}
我想遍历每个token
intokens
并删除token
包含set
.
例子
该tokens
列表有几个token
元素。一个token
(比如 token1)有一个像这样的元素。
{..., " <set picURL="http://magiccards.info/extras/token/Gatecrash/Domri-Rade-Emblem.jpg" picURLHq="" picURLSt="">GTC</set>", ...}
另一个token
(比如 token2)有这两个元素。
{..., " <set picURL="http://magiccards.info/extras/token/magic-2012/pentavite.jpg" picURLHq="" picURLSt="">M12</set>",
" <set picURL="http://magiccards.info/extras/token/player-rewards-2004/pentavite.jpg" picURLHq="" picURLSt="">MI</set>", ...}
假设sets
列表被修改为仅包含{"ARB", "GTC", "M12"}
.
我将如何遍历每个token
intokens
并删除包含 in 中任何字符串元素的字符串元素sets
?那么,在该过程之后,token1 将没有上面的那个元素,而 token2 将只有第二个呈现的元素?
我试过的
这将遍历每个token
in并删除包含 string 的tokens
任何元素。token
"GTC"
foreach (var token in tokens)
{
token.RemoveAll(str => str.Contains("GTC"));
}
我查看了其他一些问题,发现了这个,但它不起作用。
foreach (var token in tokens)
{
token.RemoveAll(sets.Contains);
}
谢谢您的帮助。