hap*_*ore 2 c# linq char yield-return
我正在编写Linq扩展方法,从字符串输入中创建p455w0rd.
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
你可以看到我想删除空格,但是当我使用yield return '';它时会给我错误Empty character literal.
什么是''如何以及如何返回收益率什么都没有?
nvo*_*igt 13
你不能yield return nothing.解决方案是,如果它是一个空格,则不会产生回报.注释掉那条线,你应该很好.
''毫无意义.编译器会抱怨.没有"没有性格"这样的东西.
| 归档时间: |
|
| 查看次数: |
3548 次 |
| 最近记录: |