読者です 読者をやめる 読者になる 読者になる

雑記 - otherwise

最近はDQ10しかやっていないダメ技術者がちまちまと綴る雑記帳

文字列の変換(ネタ) - リファクタリング編

C#

R さんからツッコミが!
おぉ、確かに IList の拡張メソッドを使うのだから char[] で十分でした。
いつもありがとうございます〜。 m(_ _)m
って事で、改めて。

static string Convert4(string str) {
  return new String(str.TakeWhile(c => c != '#').ToList().ConvertAll(c => '0' <= c && c <= '9'?(char)('9' - (c - '0')):Char.ToLower(c)).Concat(str.SkipWhile(c => c != '#')).ToArray());
}

# なんでわざわざ書き直したか。
# ……だって、 R さんとこのをコピって実行したら、 「 (char)'9' - (c - '0') 」のとこで結果が char 型にならなくて(キャストがしき全体にかからずに結果が int と判定された)コンパイルエラー起こしちゃったんだもの。。。 T-T