C# 文字列のコンバーター機能の一般的な実装方法について


タイトルの件、ある文字列を入力として、  
決まったルールに則り変換後の値を返却するメソッドを  
C#で作成したいと思います。  
ただ、いろいろなやり方があると思います。  
下記は、私が考えた一例ですが、  
一般的なやり方でスマートな方法はありますでしょうか？  
OSS等での実装方法等知見がありましたら、ご教示頂きたくよろしくお願いいたします。  
(1)if文の羅列 ※この方法はあまりきれいではないので採用したくありません。  
string origial = "ORIGINAL";  
string new = string.Empty;  
if(original == "ORIGINAL"){  
new = "ORG";  
}  
else if(original == "ORIGINAL1"){  
new = "ORG1";  
}

(2)Dictionaryに変換マスタを持たせて変換する。  
(3)列挙型を定義して変換する。

なお、メモリ容量を気にするほど大量に定義があるわけではありません。（数百のオーダー）  
また、パフォーマンスもそこまでシビアに求めておりません。




どのようなルールを想定しているのでしょうか？

ad hocなルールなら変換ルールをDictionaryに持たせるのが素直な対処方法だと思います。  
IF構文や列挙型を使う方法は、ルールが変更された際のコード修正が面倒ですし、コードから変換ルールを読み取るのも煩わしいので、お勧めできません。

正規表現に書き換えられるルールなら、正規表現を使うのが良いと思います。




どのようなルールを想定しているのでしょうか？

ad hocなルールなら変換ルールをDictionaryに持たせるのが素直な対処方法だと思います。  
IF構文や列挙型を使う方法は、ルールが変更された際のコード修正が面倒ですし、コードから変換ルールを読み取るのも煩わしいので、お勧めできません。

正規表現に書き換えられるルールなら、正規表現を使うのが良いと思います。

