Как я могу получить список строк от "A:" до "Z:" в С#? Что-то вроде этого:
List<string> list = new List<string>();
for (int i = 0; i < 26; i++)
{
list.Add(string.Format("{0}:", Convert.ToChar('A' + i));
}
Извините, у меня нет VS для проверки прямо сейчас, чтобы проверить. Кстати, есть ли веб-сайт для интерактивного тестирования кода?
Ну, не считая пропущенных ')' в конце строки list.Ad...., все в порядке, хотя вы могли бы написать это, используя немного более короткую запись
list.Add((char)('A' + i) + ":");
from ch in "ABCDEFGHIJKLMNOPQRSTUVWXYZ" select ch + ":";
Использование LINQ:
List<string> aToZ = Enumerable.Range('A', 26)
.Select(x => (char) x + ":")
.ToList();
Не использовать LINQ - более простая альтернатива (IMO) для исходного цикла:
List<string> list = new List<string>();
for (char c = 'A'; c <= 'Z'; c++)
{
list.Add(c + ":");
}
Изменить: Y'all должен был помечать меня для ответа без чтения. Это не работает в VS2005, о чем спрашивал OP.
List<string> list = new List<string>(Enumerable.Range((int)'A', 26).Select(value => ((char)value).ToString() + ':'));
Как насчет:
var list = Enumerable.Range('a', 'z' - 'a' + 1).Select(charCode => (char)charCode)).ToList();
Для тестирования фрагментов кода я использую LinqPad или Компилятор Snippet. Я предпочитаю LinqPad, но оба они очень приятные.
Твоя работа прекрасна, за исключением отсутствия а). Я тестирую все свои snipits с LinqPad. (Я не знаю, как я жил без него).
Другой ответ; -)
List<string> list = new List<string>();
for (int i = 'A'; i <= 'Z'; i++)
{
list.Add(string.Format("{0}:", Convert.ToChar(i)));
}