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 () 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 () below!
Agree with a comment or answer? Like () to up-vote the contribution!
This was interesting while I wrote the code in, then ran the code
It marked a nice green check mark claiming that it was correct RIGHT!
WRONG, While errors was popping up on the other side. So why is that?
Ran into the same problem.
Don’t initialize the same variable a second time in the same scope.
WRONG:
// Make camera directions uppercase
string cameraDirections = cameraDirections.ToUpper();
// Make scene description lowercase
string sceneDescription = sceneDescription.ToLower();
Instead simply override the value of the variable.
CORRECT:
// Make camera directions uppercase
cameraDirections = cameraDirections.ToUpper();
// Make scene description lowercase
sceneDescription = sceneDescription.ToLower();
To be more specific, this is the error: "Program.cs(22,11): error CS0128: A local variable or function named ‘cameraDirections’ is already defined in this scope [/home/ccuser/workspace/csharp-working-with-text-manipulate-strings/e7-workspace.csproj]
Program.cs(25,11): error CS0128: A local variable or function named ‘sceneDescription’ is already defined in this scope [/home/ccuser/workspace/csharp-working-with-text-manipulate-strings/e7-workspace.csproj]
The build failed. Please fix the build errors and run again."
@Tera504… Well they did, you simply change the value of the variable. Thing that doesnt make sense to me is how the lesson just ends. There was no point to changing the variables, we just did it. I’d of liked for them to have us actually incorporate our work into the script at least… These last two lessons, even though theyre totally free has been a disappointment.
After completing the module, I took it the next step by assigning different names to the .ToUpper() and .ToLower() variables. Then I looked up .Replace() [somewhat intuitive] and modified the script string.
// Make camera directions uppercase
string cameraDirectionsUpper = cameraDirections.ToUpper();
// Make scene description lowercase
string sceneDescriptionLower = sceneDescription.ToLower();
// Print results
Console.WriteLine(cameraDirections);
Console.WriteLine(sceneDescription);
script = script.Replace(cameraDirections, cameraDirectionsUpper);
script = script.Replace(sceneDescription, sceneDescriptionLower);
Console.WriteLine(script);
Actually, overwriting value is in earlier chapter. I am not sure which one but I remember it was there. You can go back to see it. Overwriting value is quite common down the line of programming.
I ran into dead-ends in “Manipulate Strings” and noticed the explanations there are lacking and i only understood after i comparing my code to the solution.
In “Get Parts of Strings” even after comparing to the solution i didn’t understand right away, in “Manipulate Strings” all the information was there but not clear at all, my code will help, copy paste it to see it in action.
using System;
namespace ManipulateStrings
{
class Program
{
static void Main(string[] args)
{
string script = "Close on a portrait of the HANDSOME PRINCE -- as the BEAST'S giant paw slashes it.";
int charPosition = script.IndexOf("Close");
int length = "Close on".Length;
string cameraDirections = script.Substring(charPosition, length);
cameraDirections = cameraDirections.ToUpper();
charPosition = script.IndexOf("a portrait");
string sceneDescription = script.Substring(charPosition);
sceneDescription = sceneDescription.ToLower();
// these three lines are the solution which are not explained properly
cameraDirections = cameraDirections.ToUpper();
sceneDescription = sceneDescription.ToLower();
Console.WriteLine($"{cameraDirections} {sceneDescription}");
// i add this part when there is nothing to print according to the tasks and its disconected so it doesn't interferes
string test = "no errors".ToUpper();
Console.WriteLine(test);
}
}
}