必须用insert,和remove方法?
不能用mystring[i]='a'?

解决方案 »

  1.   

    你可以新建一个strings类继承string,然后加上索引和set
      

  2.   

    string是只读的,创建新string
      

  3.   

    string origin="programmer";Console.WriteLine("origin equals:"+origin);origin[0]='A';Console.WriteLine("After change:"+origin);visual studio.net 2003 提示:
    D:\dotnet\TestChangeString\Class1.cs(24): Property or indexer 'string.this[int]' cannot be assigned to -- it is read only
      

  4.   

    string origin="programmer"; Console.WriteLine("origin equals:"+origin);//programmer //origin[0]='A'; don't allowed!
    string strAfterChange='A'+origin.Substring(1,origin.Length-1);

                
    Console.WriteLine("After change:"+strAfterChange);//ArogrammerNotice : substring method is difference from its in java:public String substring(int beginIndex,
                            int endIndex)
    Returns a new string that is a substring of this string. The substring begins at the specified beginIndex and extends to the character at index endIndex - 1. Thus the length of the substring is endIndex-beginIndex. 在java 里这个方法取的是下标索引int beginIndex,int endIndex而C#:
    [C#]
    public string Substring(
       int startIndex,
       int length)
    上面如果写成:
    string strAfterChange='A'+origin.Substring(1,origin.Length);
    在java里可以,可是如果在C#将抛出ArgumentOutOfRangeException
      

  5.   

    如果要替换那个字符就用SubString() method 进行组合成新的string 就可以了如果有更好的方法,欢迎一起探讨.
      

  6.   

    很简单啊!
    string str="ABCDEFG";//原字符串
    int i=3;//要修改的第i个字符
    string str1=str.Insert(i-1,"c");
    string str2=str1.Remove(i,1);
    str=str2;//修改后的字符串
      

  7.   

    我只有这样了
    char[] a=new char[10];
    然后一个一个取出来存到a[i]中
    再进行修改,然后再存回去结