break与continue
break的含义与用法
break能改变循环条件使循环或switch语句提前终止。
果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。
我们可以用break提前跳出循环例如:
using System;
namespace A
{
class B
{
static void Main(string[] args)
{
for(int i=1;i<=10;i++)
{
if(i==6)
break;
Console.WriteLine("{0}",i);
}
Console.ReadKey();
}
}
}
结果是:
1
2
3
4
5
当循环到i=6时if(i==6)成立执行break跳出了循环,不再继续循环,而是输出结果。
continue含义与用法
continue语句是结束本次循环,与break语句不同的是continue语句只是结束了循环中的本次循环并没有结束整个循环。
using System;
namespace A
{
class B
{
static void Main(string[] args)
{
for(int i=1;i<=10;i++)
{
if(i==6)
continue;
Console.WriteLine("{0}",i);
}
Console.ReadKey();
}
}
}
结果是:
1
2
3
4
5
7
8
9
10
很明显上述代码中只有6被跳过,以此可以看出continue与break的区别。
命名方法
因为每一个人写代码的习惯不同所以为了使别人更好的理解你写的代码可以使用常用的命名方法。
以下是常用的命名方法的命名规则:
驼峰命名法
第一个单词的首字母小写之后单词的首字母小写。
如:firstApp,myName。
匈牙利命名法
匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。 例如:m_lpszStr,
表示指向一个以0字符结尾的字符串的长指针成员变量。
装箱,拆箱
装箱将值类型转变为引用类型。拆箱是将引用类型转变为引用类型。
装箱:用于在垃圾回收堆中储存值类型。装箱是值类型到Object类型或到此类型所实现的任何接口类型的隐式转换。
拆箱:从object类型到值类型或从接口类型到实现该接口的值类型的显示转换。
装箱和拆箱提高了系统的性能和通用性。
int i=0;
Syste.Object obj=i;
这个过程就是装箱!就是将i装箱!
拆箱就是将一个引用型对象转换成任意值型比如:
int i=0;
System.Object obj=i;
int j=(int)obj;
c#中的foreach
foreach的优势有
1.foreach语句简洁
2.foreach语句使用效率高
3.可以处理多维数组
4. foreach不需要类型转换
5.当集合元素如List等在使用foreach进行循环时,每循环完一个元素,就会释放对应的资源,
nt[,] nVisited ={
{1,2,3},
{4,5,6},
{7,8,9}
};
// Use "for" to loop two-dimension array(使用for循环二维数组)
Console.WriteLine("User 'for' to loop two-dimension array");
for (int i = 0; i < nVisited.GetLength(0); i++)
for (int j = 0; j < nVisited.GetLength(1); j++)
Console.Write(nVisited[i, j]);
Console.WriteLine();
//Use "foreach" to loop two-dimension array(使用foreach循环二维数组)
Console.WriteLine("User 'foreach' to loop two-dimension array");
foreach (var item in nVisited)
Console.Write(item.ToString());
复制代码
int[] val = { 1, 2, 3 };
ArrayList list = new ArrayList();
list.AddRange(val);
foreach (int item in list)//在循环语句中指定当前正在循环的元素的类型,不需要进行拆箱转换
{
Console.WriteLine((2*item));
}
Console.WriteLine();
for (int i = 0; i < list.Count; i++)
{
int item = (int)list[i];//for循环需要进行拆箱
Console.WriteLine(2 * item);
}