using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace MyAppSTD2018
{
class Program
{
static void Main(string[] args)
{
// I. Types have: name (e.g. int), size, default value
// II. Variables have: name (A-Za-z_0-9 all utf-8, can't start with 0-9, can't be a keyword), type, value
// built-in types:
//1. integer (default = 0)
byte myByte = 23; // unsigned 8-bis (0 to 255) default = 0
sbyte mySByte = -128; // signed 8-bit (-128 to 127) default = 0
short myShort = -1000; // signed 16-bit (-32,768 to 32,767)
ushort myUshort = 2000; // unsigned 16-bit (0 to 65,535)
int myVar = 4; // signed 32-bit (-2,147,483,648 to 2,147,483,647)
int myVar2 = 5; // signed 32-bit (-2,147,483,648 to 2,147,483,647)
int sum = myVar + myVar2; // signed 32-bit (-2,147,483,648 to 2,147,483,647)
uint myUint = 12000U; // unsigned 32-bit (0 to 4, 294, 967, 295)
sum = 0xA8F1; // hexadecimal literal
sum = 0XA8F1; // hexadecimal literal
long myLong = 42432L;// signed 64-bit (-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807)
ulong myUlong = 23423423U; // unsigned 64-bit (0 to 18,446,744,073,709,551,615)
ulong maxIntValue = UInt64.MaxValue;
Console.WriteLine(maxIntValue); // 18446744073709551615
// 2. Real (default 0.0 for F/f D/d M/m)
float myFloat = 4.566F; // signed 32-bit (±1.5e-45 to ±3.4e38) up to 7 symbols/digits
myFloat = 67.8E35f; // litteral with "E/e"
double myDouble = 34.56d; // signed 64-bit (±5.0e-324 to ±1.7e+308) up to 15-16 symbols/digits
myDouble = -3.4e-10d;
decimal myDecimal = 23.45M; // signed 128-bit (±1.0e-28 to ±7.9e28) precission 28-29 symbols/digits, closest to 0 ±1.0e-28, decimal floating-point arithmetic
// Declare some variables
float floatPI = 3.141592653589793238f;
double doublePI = 3.141592653589793238;
// Print the results on the console
Console.WriteLine("Float PI is: " + floatPI); // Float PI is: 3.141593 only 7 digits
Console.WriteLine("Double PI is: " + doublePI); // Double PI is: 3.14159265358979 16 digits
decimal decimalPI = 3.14159265358979323846m;
Console.WriteLine(decimalPI); // 3.14159265358979323846
// 3. Char
char myFirstLetter = 'S';
Console.WriteLine((int)myFirstLetter);
char symbol = (char)5;
char myChar = '\u0065';
Console.WriteLine(myChar);
myChar = '\uffff';
Console.WriteLine(myChar);
// escaping
char myEscape = '\n'; // \n \t \r \' \\ \" \uXXXX
// 4. String (default null) Reference, value in the heap
string myName = "Stoyan Cheresharov";
string path = @"D:\CamtasiaVideos"; // instead of D:\\CamtasiaVideos
Console.WriteLine($"The Path is {path}");
// 5. Bool (default false)
bool myBool = true; // false | true
// 6. Object (default null) Reference, value in the heap
Object myObject = 3;
Nullable<int> i1 = null;
int? i2 = i1;
// typeof()
// Console.WriteLine(typeof(i1)); // error
// Used to obtain the System.Type object for a type. A typeof expression takes the following form:
System.Type type = typeof(int);
int i = 0;
type = i.GetType();
Console.WriteLine(type);
// sizeof - Used to obtain the size in bytes for an unmanaged type.
Console.WriteLine(sizeof(sbyte)); // 1
// Unmanaged types include:
// The simple types that are listed in the following table:
// Expression Constant value
//sizeof(sbyte) 1
//sizeof(byte) 1
//sizeof(short) 2
//sizeof(ushort) 2
//sizeof(int) 4
//sizeof(uint) 4
//sizeof(long) 8
//sizeof(ulong) 8
//sizeof(char) 2(Unicode)
//sizeof(float) 4
//sizeof(double) 8
//sizeof(decimal) 16
//sizeof(bool) 1
Console.WriteLine("Hello World! The sum is " + sum);
Console.WriteLine("-----------------------");
Console.WriteLine((char)65);
Console.WriteLine((int)'D');
Console.WriteLine('\u0065');
int? myVanya = null;
Console.WriteLine("Vanya is " + myVanya.ToString() + " years old!");
Console.WriteLine(sizeof(long));
int myDesiInt = 10;
// double myDesiDouble = 1.2;
int myDesiDouble = 3;
Console.WriteLine("Desi " + ((double)myDesiInt / myDesiDouble));
// Console.WriteLine("Desi " + ((myDesiInt / myDesiDouble));
// Ctrl+r,r - refactoring/replace a name/string
// Not possible
//int? implicitConvertInt = 0;
//if (implicitConvertInt) { // Can not implicitly convert type int to bool
//}
//Object implicitConverToObj = null;
//if (implicitConverToObj) { // Can not implicitly convert type Obj to bool
//}
myDesiInt++;
Console.WriteLine(myDesiInt);
Console.WriteLine((myDesiInt > 18) ? "You are an adult" : "You are young");
byte myTest = 1;
Console.WriteLine(myTest);
Console.WriteLine(myTest << 1);
Console.WriteLine(myTest << 2);
myTest <<= 2;
Console.WriteLine(myTest);
byte myGeorgi = 8;
Console.WriteLine(myTest | myGeorgi);
int squarePerimeter = 17;
double squareSide = squarePerimeter / 4.0;
double squareArea = squareSide * squareSide;
Console.WriteLine(squareSide); // 4.25
Console.WriteLine(squareArea); // 18.0625
int a = 5;
int b = 4;
Console.WriteLine(a + b); // 9
Console.WriteLine(a + b++); // 9
Console.WriteLine(a + b); // 10
Console.WriteLine(a + (++b)); // 11
Console.WriteLine(a + b); // 11
Console.WriteLine(14 / a); // 2
Console.WriteLine(14 % a); // 4
int one = 1;
int zero = 0;
// Console.WriteLine(one / zero); // DivideByZeroException
double dMinusOne = -1.0;
double dZero = 0.0;
Console.WriteLine(dMinusOne / zero); // -Infinity
Console.WriteLine(one / dZero); // Infinity
Console.Clear();
Console.Write("Stoyan ");
Console.Write("Cheresharov \n\r");
Console.WriteLine("My name is Desi. I am {0} years old. my favorite number is {1}", myDesiInt, 3);
Console.WriteLine("| {0,10:######} |", 12);
Console.Clear();
Thread.CurrentThread.CurrentCulture =
CultureInfo.GetCultureInfo("bg-Bg");
Console.WriteLine("| {0,10:C} |", 120000.4532);
Console.Clear();
Console.Write("Please eneter your age: ");
string inputVariable = Console.ReadLine();
int age = int.Parse(inputVariable);
// double.TryParse(inputVariable,out );
// Convert.ToInt16();
Console.WriteLine(age + 10);
Console.OutputEncoding = Encoding.UTF8;
Console.ForegroundColor = ConsoleColor.Green;
// Console.BackgroundColor = ConsoleColor.Blue;
Console.SetCursorPosition(5, 10);
Console.WriteLine("Това е кирилица: ☺");
Thread.CurrentThread.CurrentCulture =
CultureInfo.GetCultureInfo("en-GB");
Console.WriteLine("Your balance is {0, 10:C2}", 1234567.8904534);
int secondNumber = 3;
int firstNumber = 2;
if (secondNumber > firstNumber)
{
// int biggerNumber = secondNumber;
Console.WriteLine(secondNumber);
}
char ch = 'X';
if (ch == 'A' || ch == 'a')
{
Console.WriteLine("Vowel [ei]");
}
else if (ch == 'E' || ch == 'e')
{
Console.WriteLine("Vowel [i:]");
}
else if (ch == 'I' || ch == 'i')
{
Console.WriteLine("Vowel [ai]");
}
else if (ch == 'O' || ch == 'o')
{
Console.WriteLine("Vowel [ou]");
}
else if (ch == 'U' || ch == 'u')
{
Console.WriteLine("Vowel [ju:]");
}
else
{
Console.WriteLine("Consonant");
}
//switch (селектор)
//{
// case целочислена - стойност - 1: конструкция; break;
// case целочислена - стойност - 2: конструкция; break;
// case целочислена - стойност - 3: конструкция; break;
// case целочислена - стойност - 4: конструкция; break;
// // …
// default: конструкция; break;
//}
//while (условие)
//{
// тяло на цикъла;
//}
// Initialize the counter
int counter = 0;
// Execute the loop body while the loop condition holds
while (counter <= 9)
{
// Print the counter value
Console.WriteLine("Number : " + counter);
// Increment the counter
counter++;
}
// n! = (n - 1)!*n
int n = int.Parse(Console.ReadLine());
// "decimal" is the biggest type that can hold integer values
decimal factorial = 1;
// Perform an "infinite loop"
while (true)
{
if (n <= 1)
{
break;
}
factorial *= n;
n--;
}
Console.WriteLine("n! = " + factorial);
int myDoTest = 0;
do
{
Console.Write("Please enetr a number betwen 0 and 5: ");
myDoTest = int.Parse(Console.ReadLine());
} while (myDoTest > 5 || myDoTest < 0);
//for (инициализация; условие; обновяване)
//{
// тяло на цикъла;
//}
for (int j = 0; j <= 10; j++)
{
Console.Write(j + " ");
}
int t = 0;
while (t < 10)
{
// i++;
// break;
if (t % 2 == 0)
{
t++;
continue;
}
Console.WriteLine("t = " + t);
t++;
}
int[] numbers = { 2, 3, 5, 7, 11, 13, 17, 19 };
foreach (int k in numbers)
{
Console.Write(" " + k);
}
Console.WriteLine();
String[] towns = { "Sofia", "Plovdiv", "Varna", "Bourgas" };
foreach (String town in towns)
{
Console.Write(" " + town);
}
int special = 34;
Console.WriteLine($"This is my variable {special}");
/*
// Convert to binary system
Console.Write("Please enter a number to convert: ");
// with 340282366920938000000000000000000000000
// System.OverflowException: Value was either too large or too small for an Int32.
int number2Convert = int.Parse(Console.ReadLine());
int[] binaryNumber = new int[128]; // the default value is 0
int digitCounter = 127;
while(number2Convert > 0 && digitCounter > 0)
{
binaryNumber[digitCounter] = number2Convert % 2;
digitCounter--;
number2Convert /= 2;
Console.WriteLine(number2Convert);
}
foreach(var digit in binaryNumber)
{
Console.Write(digit);
}
Console.WriteLine();
Console.WriteLine(Math.Pow(2, 128)); // 3.40282366920938E+38
// Console.WriteLine("{0,10:N}", Math.Pow(2, 128)); // 340,282,366,920,938,000,000,000,000,000,000,000,000.00
// Console.WriteLine("{0,10:D}", Math.Pow(2, 128)); // Exception
Console.WriteLine("{0,10:F0}", Math.Pow(2, 128)); // 340282366920938000000000000000000000000
*/
}
}
}
Comments