C#面向对象基础(二)

在对比中学习,找出知识的相似点和不同点,是学习一件快乐的事,也是高效学习的一种方法。 在学习知识的过

程中,我们都在不断地去联想,去设想,去假设,去推理,正因为这样才产生了很多的疑问,等这些疑问解决掉了,

或者解决的差不多的时候,就突然有了一种感慨:原来是这样!

在这里,我把C#中比较有意思的具有鲜明对比色彩的4种知识点进行了比较。

1、分支技术

分支是控制下一步要执行哪行代码的过程。

  

   三元运算符

<test>?<resultIfTrue>:<resultIfFalse>

可以得到一个布尔值,运算的结果是根据test得到的布尔值来选择resultIfTrue或者resultIfFalse,这样说的可能有些抽象,我们来看一个实例。

string resultString=(myInteger<10)? "Less than 10" : "Greater than or equal to 10";

这句话的意思就是Less than 10 和 Greater than or equal to 10 谁能赋值给resultString 取决于MyInteger的

值,如果小于10,那么结果为真,选择Less than10 ,反之亦然。

   if语句

if(<test>)

<code executed if <test> is true>;

只有if 后面条件为真时执行下面的语句。 另外if常和else 组合使用,我们来重写三元运算符中的那个例子。

<span style="font-size:18px;">string resultString;
if (myInteger<10)
    resultString="Less than 10";
else
    resultString ="Greater than or equal to 10";</span>

   switch语句

switch(<testVar>)

{

case <条件1>:

<执行的代码>;

break;

case <条件2>:

<执行的代码>

break;

……

default:

<执行代码>

break;

}

三者使用场合视情况而定,三元运算符相对if条件语句来说比较简介,但不如if语句灵活,便于理解。如果对于

比较简单的代码可以选择三元运算符。if语句可以用于条件判断,但是如果条件太多,if语句就要出现多层嵌套,给

阅读打来很大的困难。 为此switch 闪亮登场,它可以将测试变量与多值进行比较。相比if语句,简单易读。

2、类型转换

   隐式

类型A的取值范围完全包含在类型B的取值范围内,就可以隐式转换成类型B

显式

明确要求编译器把数据类型转换为另一种数据类型。

通过一个例子来对比这两种类型转换的区别。

short类型的变量可以存储0-32767的数字,而byte可以存储的最大值是255,把byte类型隐式转换成short则没有

问题,A=B(short A,byteB)。  但当A的值小于255时,能否进行B=A。 答案是不可以的。那怎么办? 还好,我们

可以对A进行显示转换,即B=(byte)A 。

3、函数与委托

函数定义:

两个关键字:static和void

函数后面跟圆括号

要执行的代码放在花括号中

委托定义:

关键字:delegate

不带函数体

二者区别与联系:

委托类似函数,在定义了委托后,可以声明该委托类型的变量。把这个变量初始化为与委托有相同返回类型和

参数列表的函数引用之后,就可以使用委托变量调用这个函数。

小结:学习过程中对比一下有联系的知识,感觉学习后印象深刻,对理解一些程序起到了很大的帮助作用,对写程

序提供了一些方法指导。

时间: 2024-10-24 02:16:37

C#面向对象基础(二)的相关文章

Java面向对象基础二

1.对象的使用方法 2.多对象的创建方法 3.匿名对象的创建和使用方法

面向对象基础二

如何用代码来编写类 1.创建类的方法 Class 类名{ 属性;方法; } 属性也叫成员变量,主要用于描述类的状态 方法也叫成员方法,主要描述类的行为 1.1类的表示方法 1.2类的定义方法 1.3生成对象的方法 狗的属性:毛发,毛色的颜色,方法:会跑,会叫 这里的狗指的是一个概念 ,并不是指某一只狗,指的是狗这一类生物 所有的狗都有这些属性,方法 编程时候不追求把事物的属性都定义出来,只需要根据需求定义其中的一部分 Java虚拟机把内存分为了两部分栈和堆 在堆内存中存方的是对象的本体, 在栈内

java面向对象基础(二)

*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hljs-comment, .hljs-template_comment, .diff .hljs-header, .hljs-javadoc { color: #998; font-style: italic; } .hljs-keyword, .css .rule .hljs-keyword, .h

Java学习 &#183; 初识 面向对象基础二

Package 为什么需要使用package a)   解决类重名的问题 b)   便于管理类 怎么使用package a)   类的第一句非注释性语句 b)   命名:域名倒着写,再加上模块名 注意事项 a)   不要使用默认包 JDK主要包 Import 1.为什么需要使用包 2.import怎么使用 3.注意事项 4.静态导入 原文地址:https://www.cnblogs.com/secoding/p/9495903.html

【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

[喵"的Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder 1.String String是Java中的一个final类,主要用于字符串的处理. 1.1 不可变性 String内的字符串是不可变的,每一次修改都会重新生成一个新的String对象实例. 例: 1 // 在堆中会创建一个"Hello"字符串实例,把地址赋给对象a 2 String a = new String("Hello&

如鹏网学习笔记(二)面向对象基础

面向对象基础1,面向对象的三大特征:封装.继承.多态. 2,定义字段的方法和实例化类:和声明数组一样,类名 对象名 = new 类名(); 3,对象的引用传递:Person weiren = yzk; weiren指向对yzk当前所指向的对象. 4,null和成员变量.局部变量的不同初始化 1)null表示变量没有指向任何对象 2)对于一个为null的变量调用成员方法都会报异常NullReferenceException 3)值类型(ValueType):数据类型(int.long.double

C#面向对象基础(一)

面向对象这个词我很早就知道了,但具体是什么东西?什么是面向对象?一直以来都 不理解,只知道它有三大特征,即封装-继承-多态.直到学习完C#视频和看完设计模式 中面向对象基础后,对C#面向对象才有了一个大致的理解.下面这幅图是我对它的一个 宏观的认识. 一.基本知识 1.类成员 属性 C#不直接访问类的数据,通过get和set访问类中字段 方法 表示类的行为.方法可以构造,也可以重载 2.封装 每个对象都包含它能进行操作所需要的所有信息,这种特性就是封装 3.继承 如果两个对象A和B,可以描述为B

Python学习系列(八)( 面向对象基础)

 Python学习系列(八)( 面向对象基础) Python学习系列(七)( 数据库编程) 一,面向对象 1,域:属于一个对象或类的变量.有两种类型,即实例变量—属于每个实例/类的对象:类变量—属于类本身. 2,类的方法:对象也可以使用属于类的函数来具有功能,这样的函数称之为类的方法.域和方法合称为类的属性.类使用class关键字创建,类的属性被列在一个缩进块中. 3,self:类的方法与普通的函数只有一个特别的区别----他们必须有一个额外的第一个参数名称,但是在调用的时候不能为其赋值,Pyt

2.C#面向对象基础属性

属性: 1.一般属性开头字母大写,字段开头字母小写. 2.通过public来赋值的方法无法判断赋值是否非法! 3.无论赋值如何,取值如果就是不采用赋值的结果,那么无论赋值什么都不管用. 4.经典错误之死循环. 例一: 通过public来赋值的方法无法判断赋值是否非法! 验证代码如下: using System; using System.Collections.Generic; using System.Text; namespace stduy2 { class Program { stati

【Java面向对象基础(一)】数据类型与运算符

[喵"的Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符 1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数据类型 字节数 二进制位数 最小值 最大值 默认值 byte 1 8-bit -2^7 +2^7 - 1 0 short 2 16-bit -2^15 +2^15 - 1 0 int 4 32-bit -2^31 +2^31 - 1 0 long 8 64-bit -2^63 +2^63 - 1 0