文字列入力から p455w0rd を作成するために、Linq 拡張メソッドを作成しています。
public static IEnumerable<char> ToPasswordFormat(this IEnumerable<char> source)
{
var enumerator = source.GetEnumerator();
while (enumerator.MoveNext())
{
switch((char)enumerator.Current)
{
case 'a':
yield return '4';
break;
case 'e':
yield return '3';
break;
case 'l':
yield return '7';
break;
case 'i':
yield return '!';
break;
case ' ':
yield return '';
break;
default:
yield return (char)enumerator.Current;
break;
}
}
}
ご覧のとおり、スペースを削除したいのですが、使用するyield return '';
とエラーが発生しますEmpty character literal
。
yield return nothingとは何''
ですか? どうすれば yield return nothing を返すことができますか?