sValue..IndexOf('@');从0开始计数。

解决方案 »

  1.   

    上面的方法就ok了.
    如果不用上面的,自己也可以写一个for循环,直到有@出现为止,记下循环的次数再加1就ok了.
      

  2.   

    可以用sValue.IndexOf('@')返回值是其第一次出现的索引。也可以用最笨的方法:
    char ch[] = sValue.ToCharArray();
    int iIndex = 0;
    foreach(char ch1 in ch)
    {
        if(ch1 == '@')
            return iIndex;
        else
            iIndex++;
    }
      

  3.   

    string sValue = "asdf-asd@afd%axsf"; 
    int i=sValue .IndexOf("@");
    //注意位置从零开始的,如"@"应返回8,其实是第九个位置