you think of any program where you don’t use a string? I cannot. We are
constantly working with strings. When learning programming, the first
thing that we do is write the 'hello world' program which is about
displaying a string. When working with web services, and data comes back
in json, it’s a string. Everything and anything can be represented as a string. Numbers, decimals, date, weather, temperature and you name it. All of them can be represented as strings.
That is why c sharp has a lot of string related stuff to help you, the developer, reduce the workload
related to playing with strings. Almost anything and everything related
to strings (manipulating them, traversing them, building them and so
on) is already available in .net and c sharp.
blog posts will spend a little more time on focusing on specific string
related features. Here, I want to emphasize on one simple thing. That
is the fact that strings are immutable. What does that mean really? The
thing is, once you create a string (and assign a value to it) it cannot
be modified. It's sort of like a tattoo. It's set in shape until it
string hello_world = "hello world";
string "hello world" will remain as its until it is no longer
referenced and garbage collected. That means, the following statement
will make you think.
Hello_world_2 = hello_world + "there";
executing this statement, a new string is created called "there". Then,
the contents of "hello world" and "there" are copied over to another
new string which will eventually
contain "hello world there". Why did two new strings created instead of
the original string modifying itself from "hello world" to "hello world
there"? That would be simpler isn't it?
On the outset, it would be simpler. However, the property of being immutable
makes sure that the string object cannot be modified. This is a better
way of dealing with strings because, as a developer, I know that once a
string is created, it cannot be modified by any part of the program. This certainty allows me build thread save string related applications.
I have not attached any doe to this blog post. We have already used strings many times in many our previous code repos.
Follow me on twitter, facebook and instagram for more updates. Thanks!