我刚接触编程,所以很难为我的问题找到标题。让我尝试更好地解释一下:
我有一个for循环,它遍历字符串列表
for (int i = 0; i < StringList.Count; i++)
{
}
字符串具有一般模式: 列表开始于:
然后可能会随机发生StringT和StringB。 在出现string5或StringT或StringB的可能组合之后,它将返回到string1-5,并重新开始。 (字符串1-5都稍有不同,但足够相似以进行过滤)。 StringT和StringB都具有标识的“功能”,我可以在if语句中检查
我的目标是:
将前5个字符串添加到TempString中,并检查其中是否存在StringT或StringB。如果它们在那里,也将它们添加到TempString中。之后,我将临时字符串添加到列表中,因此list [0]将由(字符串1,字符串2,字符串3,字符串4,字符串5和MAYBE StringT和或StringB)组成
此后重复该过程,直到循环结束。
我使用foreach循环尝试了此方法,并尝试了与以下问题类似的解决方案: how to loop over generic List<T> and group per 3 items 但它们都无法解决随机字符串存在的问题(至少对我而言)
答案 0 :(得分:0)
您可以检查列表中一组特定字符串的可能性,如下所示:
bool StringListEnded = false;
var resultGroup = new Dictionary<List<string>,bool>();
foreach(List<string> list in StringListGroup){
bool StringTFound = false;
bool StringBFound = false;
foreach (string item in list)
{
if(item == "someStringT")
{
StringTFound = true;
}
if(item == "someStringB")
{
StringBFound = true;
}
}
//here you can save values in the dictionary against each list from the group and the possibility of occurring specific string using both flags for stringB and stringT
if(StringTFound || StringBFound){
resultGroup.Add(list,true);
}
}