作为一个C#新手的指数,目前要找出一个字符串的第一个大写字符的索引我已经想出了一个办法寻找第一个大写字母
var pos = spam.IndexOf(spam.ToCharArray().First(s => String.Equals(s, char.ToUpper(s))));
功能的代码工作正常,只是我穿过绳子两次感到不舒服,一次找到字符,然后找到索引。有没有可能在一次使用LINQ获取第一个UpperCase字符的索引?
在C++中等价的方式会是这样的
std::string::const_iterator itL=find_if(spam.begin(), spam.end(),isupper);
等效Python语法会
next(i for i,e in enumerate(spam) if e.isupper())
6000声誉一个“新手” – 2012-04-21 09:31:37
@NikhilAgrawal,来自[tag:python]的6000个声誉,而不是C#:) – 2012-04-21 09:34:30