FAQ: Working with Text - Get Parts of Strings

This community-built FAQ covers the “Get Parts of Strings” exercise from the lesson “Working with Text”.

Paths and Courses
This exercise can be found in the following Codecademy content:

FAQs on the exercise Get Parts of Strings

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

1 Like

I have found a strange answer to one of the exercises.

Here is the exercise: https://www.codecademy.com/courses/learn-c-sharp/lessons/csharp-working-with-text/exercises/get-parts-of-strings

The way we are taught and expected to answer goes along those lines:

      int charPosition = name.IndexOf("F");
      char firstLetter = name[charPosition];

Isn’t it strange? We write a code for finding what the first letter is by writing the first letter manually. Wouldn’t a better answer be:

char firstLetter = name[0];

I am no pedagogy specialist, but I would tend to believe that the intend answer is a bit redundant and purposeless. What do you guys think?

P.-S.: I’m a new C# learner, so maybe I got something completely wrong. Let me know if I did.

6 Likes

I agree with you that if all we’re trying to do is get the first letter of a string, and convert it char
char firstLetter = name[0]; is much more efficient. Probably, they were trying to illustrate the use of the IndexOf() method, but it might have been a better lesson if they used a letter other than the first, and named the variable something like positionOfLetter.
Maybe something like this would demonstrate the functionality of IndexOf() better:

string name = "Benjamin Franklin";
Console.WriteLine(name);
int charPosition = name.IndexOf("F");
char firstLetter = name[charPosition];
Console.WriteLine(firstLetter + " is the " + charPosition + "th letter in " + name + ".");
1 Like

Actually it would be the charPosition + 1 letter since IndexOf() starts at 0. Oops! :man_facepalming:

Console.WriteLine(firstLetter + " is the " + (charPosition + 1) + "th letter in " + name + ".");

Upvoting. Hopefully they revisit this lesson refactor.

I completely agree! I couldn’t even figure out what I was supposed to use for IndexOf(), because each person will have a different letter.