获得范围“A”...“Z”的方式是什么?
Enumerable.Range(1,100)
Enumerable.Range("A","Z");
答案 0 :(得分:12)
为什么不保持简单......
public static IEnumerable<char> GetAlphabet()
{
return "ABCDEFGHIJKLMNOPQRSTUVWXYZ".AsEnumerable();
}
答案 1 :(得分:11)
编辑:更新以包括达林的更正...
在.NET 3.5 SP1中,这可以起作用:
Enumerable.Range('A', 26).Cast<char>()
但是,Cast
changed for .NET 3.5 SP1的行为,现在它只对取消装箱转化执行参考转化。因此,对于.NET 3.5SP1及更高版本,您需要:
Enumerable.Range('A', 26).Select(x => (char) x);
不可否认,这并不是非常好。
使用MiscUtil,您可以使用
'A'.To('Z').StepChar(1)
无论你喜欢与否,都是个人品味的问题:)
答案 2 :(得分:10)
Enumerable.Range('A', 26).Select(x => ((char)x).ToString())
答案 3 :(得分:1)
另一种方法,如果你想从字母表中的一个元素切片到另一个元素......
Enumerable.Range(0,26).Select(x => (char)((char)x + 'A'))