s = sky.Split();
                for (int i = 0; i < s.Length; i++) {
                    s[i] = s[i].Replace(s[i].Substring(0, 1), s[i].Substring(0, 1).ToUpper());
                }
                a = string.Join("",s);各位大侠帮忙解析这句话的具体含义   为什么Substring 要用两个   为什么第一个Substring 前面有Replace
 后面那个却只要转换成大写

解决方案 »

  1.   

    从代码来看  应该是将字符首字母大写
    比如将 tim 替换成Tim
      

  2.   

    那么  substring (0,1) 只截取一个字符串吗?
      

  3.   

    但是那为什么要两个substring  直接把oUpper() 放在第一个Substring 后面不行吗?
      

  4.   

    但是那为什么要两个substring 直接把ToUpper() 放在第一个Substring 后面不行吗?
      

  5.   


    +1楼主可能看错了,不是第一个用Replace
    同下:string strOld =string.Empty;
    string strNew =string.Empty;
    for (int i = 0; i < s.Length; i++) {
      strOld  = s[i].Substring(0, 1);
      strNew  = s[i].Substring(0, 1).ToUpper();
      s[i] = s[i].Replace(strOld,strNew);
      }
      

  6.   


    FieldInfo fi = typeof(string).GetField("m_firstChar", BindingFlags.Instance | BindingFlags.NonPublic);
    string s = "fdsafdas";
    fi.SetValue(s, Char.ToUpper(s[0]));