2012-08-14 52 views
0

我有一個C#問題,我一直無法讓我的頭。基本上,我需要根據句子中的一個或多個單詞可能具有不同拼寫或用法的事實生成一個列表或字符串數​​組。我打算對(可能)在句子中的每個單詞有很多不同的可能性。動態創建基於單詞替換的給定類型的所有句子

例如,如果我定義'are'這個詞可以寫成'are'或'r',而'you'這個詞寫成'you'或'u'的 「你是如何」 將是:

  • 「你怎麼樣」
  • 「怎麼R您」
  • 「如何U」
  • 「如何る」

我已經考慮過了我可以用枚舉的字類型,例如:

public enum Word 
{ 
    Are, 
    You 
} 

以及使用某種輔助方法返回的可能用途的數組:

public static string GetVariants(Word w) 
{ 
switch(w) 
{ 
    case Word.Are: 
    return new string[] { "are", "r" }; 
    case Word.You: 
    return new string[] { "you", "u"}; 
} 

,但我似乎無法找到一個體面的方式來定義一個混合使用固定字符串和這些可變詞類型標識符的句子並創建可能的組合。

單詞需要按正確的順序編寫,我只需要能夠生成許多不同的編寫相同內容的方法。一旦我有了這些東西,我也希望它不僅適用於這個特定的句子結構。這可能嗎?

回答