On Tue, Jan 27, 2009 at 6:53 AM, PFJ <pjohns...@uclan.ac.uk> wrote: > I'm trying to copy a specific section of a string to another string. > My code looks like this > > void search(string s) > string newstring; > for (int a = 0 ; a < s.Length; ++a) > { > if (a + 1 > s.Length) > continue; > if (s[a + 1] < 'a') > s.CopyTo(a, newstring.ToCharArray(), 0, 1); > else > { > s.CopyTo(a, newstring.ToCharArray(),0, 2); > a++; > } > }
I did not look too deeply into the exception you are getting because this approach is simply wrong. You are copying the characters into a new array that you never use again. In other words, this block of code would do absolutely nothing but burn CPU cycles even if it did work. You probably want to look at the StringBuilder class as well. It better encapsulates actions like this and is designed to prevent you from creating several intermediate String objects (which you don't do here but are very likely to do if you haven't done this kind of thing before). -- Chris Howie http://www.chrishowie.com http://en.wikipedia.org/wiki/User:Crazycomputers _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list