首先我有Common Language Runtime Exceptions
之类的短语。在输出中,我需要ice z comp
,其中包含短语,例如:List<string>
现在我有了这个:
ice-z comp, ice z-comp, ice-z-comp
答案 0 :(得分:0)
使用以下实现可以解决该问题。首先,输入被分成单个单词。
var Words = word.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToArray();
然后,考虑到两种情况,即连接是用空格还是用连字符完成,再次组合这些单词。这可以按如下方式递归完成,其中像GenerateResult("", 0 )
这样的调用将开始计算。
List<string> Result = new List<string>();
void GenerateResult(string Intermediate, int Position)
{
if (Position == Words.Count() - 1) // base case, nothing to append
{
Result.Add(Intermadiate);
}
else
{
GenerateResult( Intermediate + " ", Position + 1 ); // space case
GenerateResult( Intermediate + "-", Position + 1 ); // hyphen case
}
}