Part 11-12 switch statement in C#

switch statement

break statement   if break statement is used inside a switch statement,he control will leave the switch statement

goto statement    you can either jump to another case statement,or to specific label(label is some word you coding to mark).

         Warning:Using goto is bad programming style,we can should avoid go to by all means

Multiple if else statements can be replaced with a switch statement

for an excample:

if(number ==10)
Console.WriteLine("you number is 10");
else if(number ==20)
Console.WriteLine("you number is 20");
else if(number ==30)
Console.WriteLine("you number is 30");
else
Console.WriteLine("you number is not 10 to 30"); above code can be replaced as: switch(number)
{
  case :10
  Console.WriteLine("you number is 10");
  break;
  case :20
  Console.WriteLine("you number is 20");
  break;
case :30
  Console.WriteLine("you number is 30");
  break;
defalut:
  Console.WriteLine("you number is not 10 to 30");
break;
} or can be replaced as: switch(number)
{
  case:10
case:20  
  case:30
  Console.WriteLine("you number is{0}",number);
break;
  default:
  Console.WriteLine("you number is not 10 to 30");
break;
}

Noted that switch(expression) , expression value must be bool , char, string, int ,enum or nullable type.

Part 13 while loop in c#

1,while loop checks the condition first.

2,if the condition is true,statements with in the loop are executed.

3,this process is repeated as long as the condition evaluetes to true.

Note:Don't forget to update the variable participating in the condition,so the loop can end , at some point

Part 14 do while loop in c#

1,a do loop checks its condition at the end of the loop.

2,this means that the do loop is guranteed to execute at least one time.

3,do loops are used to present a menu to the user

Difference -while & do while

1,while loop checks the condition at the beginning, where as do while loop checks the condition at the end of the loop.

2,do loop is guaranteed to execute at least once, where as while loop is not

Part 15 for and foreach loops in c#

The for loop

A for loop is very similar to while loop. in a while loop we do the initialization at one place, condition check at another place, and modifying the variable at another place,where as for loop has all of these at one place.

foreach loop

A foreach loop is used to iterate through the items in a collection.For example,foreach loop can be used with arrays or collectioins such as ArrayList, HashTable and Generics.

Part 16 Methods in c#

Static Vs Instance methods

static method is invoked using the class name, where are an instance method is invoked using an instance of the class.

the difference between instance methods and static methods is that multiple instances of a class can be created(or instantiated) and each instance has its own separate method. however, when a method is static,there are no instances of that method, and you can invoke only that one definition of the static method

Part 17  Method parameters

The 4 types of method parameters

1,value parameters

2,reference parameters(use ref keyword)

3,out parameters(use out keyword)

4,parameter arrays(use params keyword ,should be the last one in the parameters list,and only have one params paremeter.)

method parameters Vs method arguments

Pass by value/reference:

public static void main()
{
int i =0;
Change1(i); // 0 pass by value
Change2(ref i); // 1 pass by reference
}
public static void Change1(int j)
{
j =1;
Console.Write(j);
}
public static void Change2(ref int j)
{
j=1;
Console.Write(j);
}

Pass by value: i and j are pointing to different memory locations. Operations one valiable will not affect the value of the other variable.

Pass by reference: i and j are pointing to the same memory location. Operations one valiable will affect the value of the other variable.

Part 18 namespace

namespaces are used to organize your programs

they also provide assistance(帮助) in avoiding(避免) name clashes(冲突)

namespaces don't correspond(对应) to file, directory(目录) or assembly(程序集) names. they could be wirtten in separate(单独) files and/or separate assemblies and still belong to the same namespace.

Namespaces can be nested(嵌套) in 2 ways.

namespace alias directives(指令).  sometimes you may encounter(遇到) a long namespace and wish to have it shorter. this could improve(提高) readability(可读性) and still avoid(避免) name clashes(冲突) with similarly named methods.

if the name of namespace is to long,you can use 'name'='namespace' to improve readability.

eg:

before:  using system.subsystem.hello

after:    using ssh = system.subsystem.hello

Part 19 Introduction to classes

what is a class

a class consists of(由..组成) data and behavior. class data is represented(代表) by it's fields and behavior is represented by it's methods

Purpose of a class constructor

The purpose of a class constructor is to initialize class fields. A class constructor is automatically called when an instance(实例) of a class is created.

Constructors do not have return values and always have the same name as the class.

Constructors are not mandatory(强制性的). if we do not provide a constructor, a default parameter less constructor is automatically provided.

Constructors can be overloaded by the number and type of parameters.

Part 20 Static and instance class members

Static class members

Instance class members

Difference between static and instance members

An example explaining when you should make certain members static

Static and Instance class memebers

When a class memeber includes a static modifier, the member is called as static member.

When no static modifier is present the member is called as non static member or instance member.

Static members are invoked using class name, where as instance members are invoked using instances(object) of the class.

An instance member belongs to specific instance(object) of a class. if I create 3 objects of a class, I will have 3 sets of instance members in the memory, where as there will ever be only one copy of a static member, no matter how many instances of a class are created.

Note: Class member = field, methods, properties, events, indexers,constructor.

Static constructor

Static constructors are used to initialize static fields in a class.

you declare a static constructor by using the keyword static in front of the constructor name.

Static Constructor is called only once, on matter how many instances you create.

Static constructors are called before instance constructors.

Part 11 to 20 Basic in C# continue的更多相关文章

  1. 2016年11月20日 星期日 --出埃及记 Exodus 20:11

    2016年11月20日 星期日 --出埃及记 Exodus 20:11 For in six days the LORD made the heavens and the earth, the sea ...

  2. 2019-03-18 Python time 将2015年11月20日转换为2015-11-20

    #ReportingDate = soup.select('body > div.main > div > div.ctr > div.recruit > ul > ...

  3. tmux使用——2019年11月20日16:40:15

    1.tmux 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令.用户与计算机的这种临时的交互,称为一次"会话& ...

  4. Navicat for mysql 11.1.20激活

    由于最近工作太忙,一直没有机会分享自己在工作中遇到的困难,今天周日,在出去之前先分享下navicat(版本很重要navicat_trial_11.1.20.0.1449226634)激活. 刚开始我是 ...

  5. 2018年11月20日 远交近攻 list1

    list 列表用法 li=[1,2,3,"abc"] #列表中的元素,可以为数字或者字符串或者布尔值或者就是列表等,所有都能放进去 #列表中也能嵌套列表 pi=[1,2,3,[2, ...

  6. MySQL Crash Course #11# Chapter 20. Updating and Deleting Data

    INDEX Updating Data The IGNORE Keyword Deleting Data Faster Deletes Guidelines for Updating and Dele ...

  7. 2017年11月20日 WinForm窗体 窗口无边框可移动&&窗口阴影 控制窗口关闭/最小化

    弹框 MessageBox.Show(); 清空 clear() 字符串拼接 string 公共控件 button 按钮 checkbox 复选框 checklistbox 多个复选框 combobo ...

  8. 软件工程项目组Z.XML会议记录 2013/11/20

    软件工程项目组Z.XML会议记录 [例会时间]2013年11月20日星期三21:00-22:00 [例会形式]小组讨论 [例会地点]学生公寓3号楼会客厅 [例会主持]李孟 [会议记录]李孟 会议整体流 ...

  9. PYDay10&11&12&13-常用模块:time|datetime|os|sys|pickle|json|xml|shutil|logging|paramiko、configparser、字符串格式化、py自动全局变量、生成器迭代器

    1.py文件自动创建的全局变量 print(vars()) 返回值:{'__name__': '__main__', '__package__': None, '__loader__': <_f ...

随机推荐

  1. CF960G-Bandit Blues【第一类斯特林数,分治,NTT】

    正题 题目链接:https://www.luogu.com.cn/problem/CF960G 题目大意 求有多少个长度为\(n\)的排列,使得有\(A\)个前缀最大值和\(B\)个后缀最大值. \( ...

  2. YbtOJ#482-爬上山顶【凸壳,链表】

    正题 题目链接:https://www.ybtoj.com.cn/contest/116/problem/2 题目大意 \(n\)个点,\(x\)坐标递增,第\(i\)个点向第\(j\)个点连边. 开 ...

  3. 双击tomcat8w.exe出现指定的服务未安装

    进入tomcat bin 目录下 打开cmd 输入命令 service.bat install   进行服务安装. 双击tomcat8w.exe 就可以打开了.

  4. 通过Git在本地局域网中的两台电脑间同步代码

    0.前言 一般情况下同步代码可以通过在GitHub/GitLab等网站新建远程仓库,所有机器都向仓库推送或者从仓库下拉更新. 上述过程步骤也不算复杂,不过有时候我们考虑到仓库的安全性等因素,只想在局域 ...

  5. mybatis本地缓存&分布式缓存干货分享

    前言:干货记录学习mybatis实际开发中缓存的使用. 环境: springboot2.X + mybatis3.x Mybatis是一款持久层框架,它提供了一级缓存和二级缓存. 名词解释 一级缓存( ...

  6. 沈抚示范区·“华为云杯”2021全国AI大赛圆满落

    摘要:以赛促学,赛教结合!驱动AI产业繁荣发展 本文分享自华为云社区<云聚沈抚 · 智赢未来!沈抚示范区·"华为云杯"2021全国AI大赛圆满落幕>,作者:灰灰哒. 近 ...

  7. React Native之新架构中的Turbo Module实现原理分析

    有段时间没更新博客了,之前计划由浅到深.从应用到原理,更新一些RN的相关博客.之前陆续的更新了6篇RN应用的相关博客(传送门),后边因时间问题没有继续更新.主要是平时空余时间都用来帮着带娃了,不过还是 ...

  8. 虚拟机Parallels Desktop 17 (PD17)支持M1 自己动手制作启动器解锁

    个人博客:xzajyjs.cn 如果自己有能力的话,直接查看这个视频即可.点此 前段时间刚出pd17,作为mac上最最强(没有之一)的虚拟机,版本17更是更进一步,性能提升极大,更是支持了Monter ...

  9. 靶场渗透CH4INRULZ_v1.0.1

    最新文章见我个人博客:点此 靶机环境下载地址:[下载] ova下载下来后直接导入virtualbox即可(https://www.vulnhub.com/entry/ch4inrulz-101,247 ...

  10. Python 做简单的登录系统

    案例 之 登录系统原创作品1 该随笔 仅插入部分代码:全部py文件源代码请从百度网盘自行下载! 链接:https://pan.baidu.com/s/1_sTcDvs5XEGDcnpoQEIrMg 提 ...