I'd like to enumerate a string
and instead of it returning chars
I'd like to have the iterative variable be of type string
. This probably isn't possible to have the iterative type be a string
so what is the most efficient way to iterate through this string?
Do I need to create a new string
object with each iteration of the loop or can I perform a cast somehow?
String myString = "Hello, World";
foreach (Char c in myString)
{
// what I want to do in here is get a string representation of c
// but I can't cast expression of type 'char' to type 'string'
String cString = (String)c; // this will not compile
}
It seems that the obvious thing to do is this:
Use the .ToString() Method
Sure it is:
Any of the suggestions in the other answers can be substituted for
c.ToString()
. Probably the most efficient by a small hair isc => new string(c, 1)
, which is whatchar.ToString()
probably does under the hood.Why not this code? Won't it be faster?
You have two options. Create a
string
object or callToString
method.