C Sharp Tutorial ~ Part 1: The Theoretical Stuff
LiamDonohue (205)

Hello Guys!

It's what I promised!!

Ok, so today I'm going to introduce the theoretical stuff of C# (btw this Will be useful later).


What is a variable anyway?

Well, a variable is a reserved place in your (or in this case, repl's servers) computer's RAM (Ramdom Access Memory), that can be edited.

Types of Variables.

  • bool
    This can only hold 2 values, true or false
  • string
    This can hold multiple alphanumeric and special characters, such as
    "hello world"
  • char
    This can only hold a single alphanumeric character
  • Integer
    This can hold a single numeric value
  • double
    This can hold a single decimal value

    There are TONS more types then this but for the sake of space (and me being lazy lol), I'm not going to list them all.


These are basically just normal variables but they cannot be edited

These are NOT declared normally

const string = "hello";


Ah, everyone just loves these! they are such a pain in the behind


A syntax error is a:

  • spelling error
  • missing character


These are basically mathematical errors or misspelling of variables

You may be wondering: Why? it looks fine

Well, it's not. If you look closer it's simple. You just made a capitalization error


These are nearly undetectable
some signs are:

  • low memory
  • division by zero

Good Programming Practices

- Indentation

- Commenting

//this is a comment

well that's all for now





how is this so popular??

You are viewing a single comment. View All
Highwayman (1028)

@Coder100 well, in order for a number to be signed it must sacrifice a bit to represent the current sign(negative or positive), and since it sacrifices that bit, the highest number it can reach is halved, because of the reduced space. For example, if you have an unsigned Integer that is one byte, it can represent values 0 to 255, but a signed integer represents -127 to 127.
Also, when you do a bit shift on a signed integer( >> or << ), the bits in the msb(most significant bit) will be used to fill in the bits that no longer hold data. This is really hard for me to explain, so Imma use pictures.
Say again I have an unsigned integer that is one byte long. Let’s say it holds the value 255.

11111111 // 255

now when I shift this integer’s bits by 3, the top 3 bits will be emptied(zeroed) out.

11111111 >> 3 // shift bits over by 3
00011111 // now it’s this.

But if I used a signed integer, the first 3 bits will remain unchanged, because the msb( the first bit in this case) is a 1! So instead of the emptied out bits getting filled with 0s, they get filled with 1s!

11111111 >> 3 // shift bits by 3
11111111 // top three bits filled with the msb.

But if the top bit is a 0, then it will get filled with 0s.

01111111 >> 3 // shift bits 3 to the left
00001111 // emptied bits instead filled with 0s

If anything is still confusing, tell me. Idk if any of this makes sense.