is和as运算符,类库,委托

is和as运算符:

is 是判断某个对象是否是某个类型     对象 is 类型    返回 bool  类型

as是将某个对象转换成某个类型

  对象 as 类型

  如果转换成功返回对象类型

  如果装换不成功,也不会报错,而是返回null值

所有类型的基类——object         任何子类都可以隐式转换父类

object o1 = new Random();

objiect 02= "";                      可以等于数字型  字符串型等等

ArrayList arr = new ArrayList();    可以放任何类型且不限定长度

arr.Add("aaa");

arr.Add(55);

arr.Add(new Random());

arr.Add(new aaa());

Random r = (Random)arr[0];        强制转换    声明将括号后的内容转换成括号内的数据类型

知道什么类型:

string s =arr[0].Tstring();    子类能隐式转换陈父类      父类不能换成子类  加tsting强制装换成子类

不知道什么类型:

bool b = arr[0] is Random;        arr内索引值0所对应的内容是不是随机数  是TRUE 不是FALSE

不知道有多少数据也不知道那个是我用的随机数

foreach (objiect o in arr)          吧arr的内容遍历出来

{

  if (o is Random == true)      如果o里是随机类型显示true

  {

    RanDom r = (Random)o;

    r.Next (0,11);

  }

}

foreach (objiect o in arr)          吧arr的内容遍历出来

{

   Random r = o as Random;         类型装换的过程  如果转换不成功显示null

  if(r != null)                               转换成功就用不成功就过

    {

      Console.WriteLine(r.Next(0,11));

    }

}

委托:

函数的指针

在类的下面

publi delega int firstD

时间: 2024-10-19 12:07:49

is和as运算符,类库,委托的相关文章

6.20 提纲 (var+类库+委托)

var万能变量: var a = 值/构造函数实例化: 给它什么类型的数据,它自动会变成相应的类型,不需要进行类型转换.   类库: 1.他人写好的.cs源代码文件,发送过来, 在自己的项目中添加进来,引用命名空间,调用方法:   一般用在公司内部,因为源代码文件可以看到,并且可以修改:   2.类库方式: 一个类库,就是一个dll结尾的文件,是源代码编译后的辅助文件: 在自己的项目中添加引用后,引用相对应的命名空间, 就可以实例化类库中的公共的类,并且可以调用公共方法   委托: 就是代理,事

类库 委托

1.C#源代码文件,包括在自己的项目中 2.类库,后缀名是.dll 优点:你写的方法别人看不到实现过程,保密性强 缺点:如果你写的方法有错误,别人无法更改 委托:可以理解为 函数的指针 delegate - 定义关键词 声明委托类型public delegate int FirstDel(int aaa, int bbb); 创建委托变量,赋值,函数指向FirstDel f1 = new JiaJian().Jia; int c = f1(10, 20); var:万能类型 object:所有类

面向对象4-4 类库 委托

一.类库 1,这个不是类库 如果在公司内部,你不会某个代码(不是很机密的代码),你同事会,你同事在他的电脑上写了个代码.让你在自己的电脑上用,怎么做呢?看下面: (1)你同事创建了一个qiuhe的类. namespace ConsoleApplication59 //注意命名空间 { public class qiuhe { public int jiafa(int a, int b) { return a + b; } } } (2)在文件夹中找到名字为:qiuhe.cs的文件,传你的电脑上,

C#运算符大全_各种运算符号的概述及作用

一.[]方括号 ([]) 用于数组.索引器和属性,也可用于指针. 1.数组类型是一种后跟 [] 的类型:int[] fib = new int[100]; //创建一个有100元素的数组若要访问数组的一个元素,则用方括号括起所需元素的索引:fib[0] = fib[1] = 1;for( int i=2; i<100; ++i ) fib[i] = fib[i-1] + fib[i-2];// 如果数组索引超出范围,则会引发异常. 2.不能重载数组索引运算符:但类型可以定义采用一个或多个参数的索

【读书笔记】C#高级编程 第七章 运算符和类型强制转换

(一)运算符 类别 运算符 算术运算符 + - * / % 逻辑运算符 & | ^ ~ && || ! 字符串连接运算符 + 增量和减量运算符 ++ -- 移位运算符 << >> 比较运算符 == != < > <= >= 赋值运算符 = += -= *= /= %= &= |= ^= <<= >>= 成员访问运算符(用于对象和结构) . 索引运算符(用于数组和索引器) [] 类型转换运算符 () 条件

C# 1的核心基础之一——委托

C# 1的核心基础之一--委托 C# 1的核心基础之一--委托简单委托的构成合并和删除委托事件的简单讨论委托总结 简单委托的构成 声明委托类型: delegate void StringProcessor(string input); 为委托实例的操作找到一个恰当的方法 void PrintString(string x)完全符合要求 void PrintInteger(int x)参数类型不兼容 void PrintTwoStrings(string x, string y)参数个数不匹配 i

C# 委托之把委托从委托链(多播委托)移除

运用“-”运算符将委托从委托链移除 1 class HelloWorld 2 { 3 //定义委托类型 4 delegate void DelegationChain(); 5 static void Main(string[] args) 6 { 7 //用静态方法来实例委托 8 DelegationChain mydelegateone=new DelegationChain(HelloWorld.Fun2); 9 //用实例方法来实例委托 10 DelegationChain mydele

C#图解教程 第十三章 委托

委托 什么是委托委托概述声明委托类型创建委托对象给委托赋值组合委托为委托添加方法从委托移除方法调用委托委托示例调用带返回值的委托调用带引用参数的委托匿名方法 使用匿名方法匿名方法的语法 Lambda 表达式 委托 什么是委托 可以认为委托是持有一个或多个方法的对象.当然,正常情况下你不想"执行"一个对象,但委托与典型对象不同.可以执行委托,这时委托会执行它所"持有"的方法. 我们从下面的示例代码开始.具体细节将在本章剩余内容介绍. 代码开始部分声明了一个委托类型My

.NET面试题(一)

个人面试题总结 + 基础知识点的整理...不断更新中... 1.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty? foreach (System.Windows.Forms.Control control in this.Controls){    if (control is System.Windows.Forms.TextBox)    {        System.Windows.Forms.TextBox tb = (System.Windows.Form

C#6.0语言规范(七) 表达式

表达式是运算符和操作数的序列.本章定义了操作数和运算符的语法,求值顺序以及表达式的含义. 表达式分类 表达式分类为以下之一: 一个值.每个值都有一个关联的类型. 一个变量.每个变量都有一个关联的类型,即声明的变量类型. 命名空间.具有此分类的表达式只能显示为member_access(成员访问)的左侧.在任何其他上下文中,分类为命名空间的表达式会导致编译时错误. 一种.具有此分类的表达式只能显示为member_access(成员访问)的左侧,或者作为运算as符(作为运算符),is运算符(运算符)