Part 1 Introduction

The struct of C# program:

namespace , class and Main method

what is namespace?

the namespace declaration, using System, indicates that you are using the System namespace.

A namespace is used to organize your code and is collection of classes, interfaces, structs,enums and delegates.

Main method is the entry point into your application

Part 2 Reading and writing to a console

Reading from the console and Writing to the console

2 ways to write to console

a) Concatenation(+)

b) Place holder syntax -Most Preferred(占位符 ,推荐用这种)

C# is case sensitive (对大小写敏感)

Part 3  Built - in types

Boolean type --Only true or false

Integral Types --sbyte,byte,short,ushort,int,uint,long,ulong,char. how to know Integral Types Value? using MinValue and MaxValue property

Floating Types--float and double  , double type is default type ,if you want to declare a float type ,you should add F at end ,else,it will get an error

Decimal Types

String Type

Part 4 String type in c#

talk about escape \n,\',\" and etc. sometimes using @ to not escape(转义)

Part 5 Common Operators in c#

Assignment operator =(赋值运算符)

Arithmetic operator +,-,*,/,%

Comparison operator like == , != , > , >= , < <=

Conditional operator like && , ||

Ternary operator ?:

Null coalescing operator ??

Part 6 Nullable Types

Types in C#

In C# types are divided into 2 broad categories

Value Types --int, float, double, structs, enums etc

Reference Types -- Interface, Class, Delegetes, arrays etc

By default value types are non nullable. To make them nullable use?

int i = 0(i is non nullable, so i cannot be set to null, i = null will generate compiler error)

int? j = 0(j is nullable int, so j = null is legal)

Nullable types bridge the differences between C# types and Database types

about ?? operator , eg: int? i = 100 or null, int j = i ?? 0. it means if i is null, then j = 0 ,else ,j=i

Part 7 Datatypes conversion

Implicit conversions(隐式)

Explicit conversions(显式)

Difference between Parse() and TryParse()

implicit & explicit conversion

implicit conversion is done by the complier:

1, when there is no loss of information if the conversion is done

2,if there is no possibility of throwing exceptions during the conversion

Converting an int to a float will not loose any data and no exception will be thrown, hence(因此) an implicit conversion can be done.

Implicit Conversion Example:

int a = 10;
float b = a;//float is bigger datatype than int, so, no loss of data and exceptions, hence this is implicit conversion.

Where as when converting a float to an int , we loose the fractional(小数点后的数) part and also a possibility of overflow exception. Hence, in this case an explicit conversion is required. For explicit conversion we can use cast operator or the convert class in C#

Example:

float a =3.14F;
int b =(int)a;//use explicit conversion using cast() operator
int b = Convert.ToInt32(a);//use convert class

Diffrence between Parse(解析) and TryParse

if the number is in a string format you have 2 options --int.Parse() and int.TryParse()

Parse() method throws an exception if it cannot parse the value, where as TryParse() returns a bool indicating whether it succeeded or failed , so ,Use Parse() if you are sure the vlue will be valid, Otherwise, use TryParse()

Example:

string a ="100";
string a1="100e";
int result = 0;
int b = int.Parse(a);//it will be success.
int b1 =int.Parse(a1) //it will throw an exception.
bool isConvertSuccessful= int.TryParse(a1,out result);//no matter convert success or fail,it will not throw an exception.
if(isConvertSuccessful)
Consolve.Write(result);
else
Consolve.Write("convert fail");

Part 8 Arrays in C#

an array is a collection of similar data types.

Advantages:Arrays are strongly typed.

Disadvantages:Arrays cannot grow in size once initialized.

Have to rely on integral indices to store or retrieve items from the array.(必须依靠索引来存储或检索项目从数组。)

Example for declare an array:

int[] numbers = new int[3];
numbers[1]=1;
numbers[2]=2;
numbers[3]=3; int[] numbers1 = {1,2,3};

Part 9 Comments in C#

single line Comments        -//

Multi line Comments        -/* */

XML Documentation Comments   -///  if using this comment ,when you mouseover it ,it can show comment to you

Comment are used to document what the program does and what specific blocks or lines of code do. C# complier ignores comments

To Comment and Uncomment , there are 2 ways

1, Use the designer

2, Keyboard Shortcut: use Ctrl+K or Ctrl+C to comment and use Ctrl+K or Ctrl+U to uncomment

Note:Don't try to comment every line of code. User comments only for blocks or lines of code that are difficult to understand

Part 10  If statement in C#

if statement

if else statement

Difference between && and &

Difference between || and |

take example:

int number = int.TryParse(Cosole.ReadLine());

if(number ==0 && number ==10)  //if number >0,it will not exce condition number ==10

if(number ==0 & number ==10)  // though number>0 it will exce condition number==10,so, it is one more step than &&. the meaning about || and | also like that.

Part 1 to 10 Basic in C#的更多相关文章

  1. Cheatsheet: 2013 10.09 ~ 10.23

    Other 10 Basic Linux Networking and Monitoring Commands You Should Know A simple, portable yet effic ...

  2. c++(基数排序)

    基数排序是另外一种比较有特色的排序方式,它是怎么排序的呢?我们可以按照下面的一组数字做出说明:12. 104. 13. 7. 9 (1)按个位数排序是12.13.104.7.9 (2)再根据十位排序1 ...

  3. 【深度学习】Pytorch 学习笔记

    目录 Pytorch Leture 05: Linear Rregression in the Pytorch Way Logistic Regression 逻辑回归 - 二分类 Lecture07 ...

  4. 使用Maven命令行快速创建项目骨架(archetype)

      > mvn archetype:generate 接下来就会输出一些列带索引变化的archetype项可供我们选择,然后提示我们选择一个编号,可以直接回车选择默认的编号(392),然后就跟着 ...

  5. 机器人研发十大热门编程语言:不死 Java、不朽 C/C ++、新贵 Python

    流水的编程语言,铁打的 Java.C/C++. 进行人工智能机器人研发,应该选择哪种编程语言? 这是很多机器人专家在自身的职业生涯中都会存在的一个入门级思考.毕竟,在学习一门编程语言时,需要花费大量的 ...

  6. LSTM与Highway-LSTM算法实现的研究概述

    LSTM与Highway-LSTM算法实现的研究概述 zoerywzhou@gmail.com http://www.cnblogs.com/swje/ 作者:Zhouwan  2015-12-22 ...

  7. 天气预报APP(1)

    一个天气预报APP至少应该具备以下功能: *可以罗列出全国所有的省.市.县: *可以查看全国任意城市的天气信息: *可以自由的切换城市,去查看其他城市的天气: *提供手动更新以及后台自动更新天气的功能 ...

  8. Leetcode: Campus Bikes II

    On a campus represented as a 2D grid, there are N workers and M bikes, with N <= M. Each worker a ...

  9. scrapydWeb安装和使用

    1. 安装:pip install scrapydweb 2. 启动:scrapydweb 第一次执行,当前目录会生产配置文件:scrapydweb_settings_v8.py 配置账户和密码: # ...

随机推荐

  1. 鸿蒙内核源码分析(调度队列篇) | 内核有多少个调度队列 | 百篇博客分析OpenHarmony源码 | v6.05

    百篇博客系列篇.本篇为: v06.xx 鸿蒙内核源码分析(调度队列篇) | 内核有多少个调度队列 | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度 ...

  2. 「含源码」关于NXP IMX8 Mini的图形开发指南(GPU)案例分享!

    前言 Graphical Demo框架提供了对平台相关依赖的抽象.Graphical应用的通用封装,如模型加载.纹理加载.着色器编译等,以及其它一些通用的应用逻辑处理的封装,使得使用框架的开发人员(以 ...

  3. P3645-[APIO2015]雅加达的摩天楼【bfs,根号分治】

    正题 题目链接:https://www.luogu.com.cn/problem/P3645 题目大意 \(n\)个点,\(m\)条狗,第\(i\)条狗可以往左或者右跳恰好\(p_i\)步,开始是\( ...

  4. 自从学会了Python自动化Pytest框架,领导再也不敢在我背后指手划脚了

    前言 大家都知道Python有自带的单元测试框架unittest,那为什么还要学习Pytest呢?先了解下Pytest优点 pytest: pytest是一个非常成熟的全功能的Python测试框架,是 ...

  5. 计算机网络-4-1-2-分类的IP地址

    有关IP最重要的文档就是互联网的正式标准RFC 791 IP地址及其表示方法 整个互联网就是一个单一,抽象的网络,IP地址就是给互联网上的每一台主机(或者路由器)的每一个接口分配一个在全世界范围内都是 ...

  6. [USACO10NOV]Buying Feed G

    part 1 暴力 不难发现有一个 $\mathcal O(K^2n)$ 的基础 dp: $$f_{i,j+l}=\min(f_{i,j+l},f_{i-1,j}+(x_i-x_{i-1})jj+c_ ...

  7. DL4J实战之三:经典卷积实例(LeNet-5)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. 2020.10.16--vj个人赛补题

    D - Drinks Choosing Old timers of Summer Informatics School can remember previous camps in which eac ...

  9. .Net Core微信服务商二次进件

    最近商城进行微信服务商二次进件的开发,大致有几个点 一,服务商签名 二,服务商证书获取 三,图片上传 四,敏感信息加密 五,查询进件状态 除此之外,就是进件信息的拼装 电商二级商户进件申请单-状态流转 ...

  10. 《手把手教你》系列技巧篇(三十三)-java+ selenium自动化测试-单选和多选按钮操作-上篇(详解教程)

    1.简介 在实际自动化测试过程中,我们同样也避免不了会遇到单选和多选的测试,特别是调查问卷或者是答题系统中会经常碰到.因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助 ...