Description:
Instructions
Write a function that takes a single string (word
) as argument. The function must return an ordered list containing the indexes of all capital letters in the string.
Example
Assert.AreEqual(Kata.Capitals("CodEWaRs"), new int[]{ 0,3,4,6});
using System;using System.Linq;public static class Kata{ public static int[] Capitals(string word) { //Write your code here int[] array = new int[] { }; if (word == null || word == string.Empty) { return array; } string tmp = word.ToLower(); return Enumerable.Range(0, tmp.Length).Where(i => word[i] != tmp[i]).ToArray(); }}
其他人的解法:
值得学习的是char本身自带了判断是否大写字母的函数
using System.Collections.Generic;using System;public static class Kata{ public static int[] Capitals(string word) { var capitalIndexes = new List (); for (var i = 0; i < word.Length; i++) { if (char.IsUpper(word[i])) capitalIndexes.Add(i); } return capitalIndexes.ToArray(); }}