【C#】2、foreach的用法、函数返回数组,Byte toString,Hashtable,delegate委托

1、foreach

1-1,微软官网很详细

foreach,in(C# 参考)

foreach 语句针对实现 System.Collections.IEnumerable 或 System.Collections.Generic.IEnumerable<T> 接口的数组或集合中的每个元素重复一组嵌入语句。 foreach 语句用于循环访问集合以获取所需信息,但不用于添加或删除源集合中的项,以避免不可预知的副作用。 如果需要添加或删除源集合中的项,请使用 for 循环。

为数组或集合中的每个元素继续执行嵌入的语句。 为集合中的所有元素完成迭代后,控制将传递给 foreach 块之后的下一语句。

在 foreach 块中的任何点上,可以使用中断关键字中断该循环,或者可以使用继续关键字单步执行到循环中的下一次迭代。

foreach 循环还可以通过 gotoreturn 或 throw 语句退出。


1-2、对数组使用 foreach(C# 编程指南)

C# 还提供 foreach 语句。 该语句提供一种简单、明了的方法来循环访问数组或任何可枚举集合的元素。 foreach 语句按数组或集合类型的枚举器返回的顺序处理元素,该顺序通常是从第 0 个元素到最后一个元素。 例如,以下代码创建一个名为 numbers 的数组,并使用 foreach 语句循环访问该数组:

C#复制
int[] numbers = { 4, 5, 6, 1, 2, 3, -2, -1, 0 };
foreach (int i in numbers)
{
    System.Console.Write("{0} ", i);//此处的i可以认为像是一个变量// Output: 4 5 6 1 2 3 -2 -1 0

借助多维数组,你可以使用相同的方法来循环访问元素,例如:

C#复制
int[,] numbers2D = new int[3, 2] { { 9, 99 }, { 3, 33 }, { 5, 55 } };
// Or use the short form:
// int[,] numbers2D = { { 9, 99 }, { 3, 33 }, { 5, 55 } };

foreach (int i in numbers2D)
{
    System.Console.Write("{0} ", i);
}
// Output: 9 99 3 33 5 55

2、函数返回数组
public string[] a()
{
string[] s={"s","f","g","jj","hh,"gg"}//简单定义一个数组
return s ;//返回数组
}

3,Byte to String

              byte  a234 =199;    

           // textBox1.Text = a234.ToString();//output 199

            textBox1.Text = a234.ToString("x3");//output 0c7,转换为16进制了


4,Hashtable下面讲的很清楚,有些时候讲解问题先把定义或原理讲清楚

https://www.cnblogs.com/hfddz/p/6534235.html


5,delegate委托的作用

delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。

与其它的类不同,delegate类能够拥有一个签名(signature),并且它只能持有与它的签名相匹配的方法的引用。

上面的定义解释了一个delegate的声明定义了一个reference type, 而这个reference type是用来将一个方法利用一个指定的形式压缩起来。一个delegate的实例压缩一个静态或者一个实例方法。Delegates和C++中的功能指针很相似。然而,不同的是,delegate是安全的,并且是Type-safe。

C#中的委托

1. 委托类似与 C或C++中的函数指针,但委托是 面向对象的,并且是类型安全的

2. 委托 就相对与 一类方法 (即方法类,或者方法接口)

而这一类方法都具有相同的 修饰符、形参以及 返回值类型

委托,既是方法:

声明委托的方式如下:在修饰符后加上 delegate ['dɛlɪɡət]关键字

从格式上看,它与方法的声明极为相似,就是多了个 delegate关键字而已

表示声明了一类,修饰符为public、一个string类型形参的、没有返回值的方法

但委托不是普通的方法,因为它也是类,

所以委托只能声明,而不能定义,如不能这样写:

实例化委托,调用委托:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值