我想迭代字母表,如下所示:
foreach(char c in alphabet)
{
//do something with letter
}
Run Code Online (Sandbox Code Playgroud)
一组字符是最好的方法吗?(感觉很讨厌)
编辑:度量标准是"实现最少的类型,同时仍然可读且健壮"
Ric*_*lay 148
(假设ASCII等)
for (char c = 'A'; c <= 'Z'; c++)
{
//do something with letter
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以将其拆分为提供程序并使用迭代器(如果您计划支持国际化):
public class EnglishAlphabetProvider : IAlphabetProvider
{
public IEnumerable<char> GetAlphabet()
{
for (char c = 'A'; c <= 'Z'; c++)
{
yield return c;
}
}
}
IAlphabetProvider provider = new EnglishAlphabetProvider();
foreach (char c in provider.GetAlphabet())
{
//do something with letter
}
Run Code Online (Sandbox Code Playgroud)
Col*_*ell 37
或者你可以做到,
string alphabet = "abcdefghijklmnopqrstuvwxyz";
foreach(char c in alphabet)
{
//do something with letter
}
Run Code Online (Sandbox Code Playgroud)
小智 8
var alphabet = Enumerable.Range(0, 26).Select(i => Convert.ToChar('A' + i));
Run Code Online (Sandbox Code Playgroud)
Enumerable.Range(65, 26).Select(a => new { A = (char)(a) }).ToList().ForEach(c => Console.WriteLine(c.A));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62660 次 |
| 最近记录: |