Hey, I recently wanted to get back into programming, but my only experience was simple Java and python from my school classes, the farthest we really went was covering the basics such as syntax, but I'd like some pointers or good resources to learn C# as it's the language I'm really interested in as I'm getting back into Unity. I'll take any advice from anyone willing to help no matter how simple the advice or pointers seem, anything helps
In general, C# code is called "code". Don't call them "scripts". Except in Unity. There C# code is called "scripts".
I highly suggest learning the language first and focusing on just console applications. Once you have firm grasp on the the language, the branch out into learning some GUI, web, or game programming framework. It's easier to climb up just one learning curve instead of trying to climb up two or more learning curves simultaneously.
If you're looking for pointers, you've come to the wrong language
Joking aside, a list of "tips on coding C#" is unlikely to be really helpful to you. Perhaps take a pluralsight course on your topic of interest, have a bash at writing something and come ask us if you get stuck. One tip I will impart though:
Learning C# is like learning French (or Spanish, whatever..) - you think in English, you don't think in French. Do your thinking in English, not C#.
Just as when you learn French, you know what you want to say in English ("I like the red balloon") then tweak it to be how a French person woudl say it ("I like the balloon red"), then translate the words ("J'aime le ballon rouge"), then speak the French
When you learn C# you have an aim in mind; an algorithm of what your program will do. Wite the program in English first, using comments. After you've done that, translate the comments to C#. If you launch straight into coding, with no plan of what you need to code, you'll get lost and forget what you're doing, and then write a load of bug-ridden junk
Example:
Your task is "add up the numbers at the end of every line in this text file, but only if the line starts with an A"
You write the algorithm first, in English:
C#:
//read the file into an array, one line per array element
//have a varable to track the sum
//loop over every line in the array
//does the line start with an A?
//yes it does
//extract the numeric digits after the last comma
//convert the numeric string to a number
//add it to the sum
//do the next line
Now, you fill C# in under them, and you leave them there so you have a nicely commented program that tells you what each line does; being able to read a line and just know its purpose is a skill that you acquire as you become fluent in C#, you aren't there yet
C#:
//read the file into an array, one line per array element
var lines = File.ReadAllLines("c:\path\to\file.txt");
//have a varable to track the sum
var sum = 0;
//loop over every line in the array
foreach(string line in lines){
//does the line start with an A?
if(line.StartsWith("A")){
//yes it does
//extract the numeric digits after the last comma
var bits = line.Split(',');
var numstring = bits.Last();
//convert the numeric string to a number
var num = Convert.ToInt32(numstring);
//add it to the sum
sum+= num;
}
//do the next line (loop around)
}
You can get fancy with it later:
C#:
var sum = File.ReadAllLines("C:\path\to\file.txt").Where(l => l.StartsWith("A")).Sum(l => int.Parse(l.Split(',')[^1]));
That last line of code is perhaps the *last* thing you should be writing as a newbie; chock full of code with no explanation and needs a fairly high degree to C# fluency to read it. A fellow developer who is LINQ aware would pick it up and go "oh right, that's self explanatory" - but that's the "think in C#" level.. Think in english, lay it out in english, then translate
Side note, Unity will teach you all manner of filthy coding habits that are totally alien to the rest of the C# universe. I'd definitely start with some other aspect first
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.