本帖最后由 杨正 于 2012-8-27 15:08 编辑
我把你的code测试了一下,抛出了异常。
有两个地方需要更正,我已经做了标记。
结果是:
我觉得你的这种做法过于复杂,这里提供几种简单的供你参考:
//方法一:
//定义已知字符串
string str = "fjasdfefvadsjfioefjdsaijefesdfaee";
//遍历字符串,当i=-1的时候,即字符串中找不到e字母了返回-1,循环结束
for (int i = str.IndexOf('e'), j = 1; i != -1; i = str.IndexOf('e', i + 1), j++)
{
Console.WriteLine("第{0}个e字母的下标是{1}", j, i);
}
Console.ReadKey();
//方法二:
//定义已知字符串
string str = "fjasdfefvadsjfioefjdsaijefesdfaee";
//遍历字符串,把字符串中得字符逐一取出来和e字母对比
for (int i = 0, j = 1; i < str.Length; i++)
{
if (str == 'e')
{
Console.WriteLine("第{0}个e字母的下标是{1}", j, i);
j++;
}
}
Console.ReadKey();
希望可以帮到你!
|