C#语句先后顺序对程序的结果有影响吗
作者:刘要直
下面通过一段代码给大家解析C#语句的顺序不同所执行的结果不一样。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { /// <summary> /// 自定义类,封装加数和被加数属性 /// </summary> class MyClass { private int x = ; //定义int型变量,作为加数 private int y = ; //定义int型变量,作为被加数 /// <summary> /// 加数 /// </summary> public int X { get { return x; } set { x = value; } } /// <summary> /// 被加数 /// </summary> public int Y { get { return y; } set { y = value; } } /// <summary> /// 求和 /// </summary> /// <returns>加法运算和</returns> public int Add() { return X + Y; } } class Program { static void Main(string[] args) { MyClass myclass = new MyClass(); //实例化MyClass的对象 myclass.X = ; //为MyClass类中的属性赋值 myclass.Y = ; //为MyClass类中的属性赋值 int kg = myclass.Add(); Console.WriteLine(kg); //调用MyClass类中的Add方法求和 Console.ReadLine(); } } }
第60行的语句若是被放到第56行,则结果输出是0不是8,所以,在设计程序时,要注意语句次序,有着清晰的思维逻辑 。
下面还有点时间,接着给大家介绍C#中循环语句总结
通过使用循环语句可以创建循环。 循环语句导致嵌入语句根据循环终止条件多次执行。 除非遇到跳转语句,否则这些语句将按顺序执行。
C#循环语句中使用下列关键字:
· do...while
· for
· foreach...in
· while
do...while
do...while语句执行一个语句或语句重复,直到指定的表达式的计算结果为false, 循环的身体必须括在大括号内{},while条件后面使用分号结尾
示例
下面的示例 实现do-while循环语句的执行
public class TestDoWhile { static void Main () { int x = 0; do { Console.WriteLine(x); x++; } while (x < 10); } } /*
Output:
0
1
2
3
4
5
6
7
8
9
*/
do-while循环在计算条件表达式之前将执行一次,如果 while表达式计算结果为 true,则,执行将继续在第一个语句中循环。 如果表达式计算结果为 false,则会继续从 do-while 循环后的第一个语句执行。
do-while 循环还可以通过break、goto、return 或 throw 语句退出。
for
for 循环重复执行一个语句或语句块,直到指定的表达式计算为 false 值。 for 循环对于循环数组和顺序处理很有用。
示例
在下面的示例中,int i 的值将写入控制台,并且 i 在每次通过循环时都加 1。
class ForTest { static void Main() { for (int i = 1; i <= 10; i++) { Console.WriteLine(i); } } } /*
Output:
1
2
3
4
5
6
7
8
9
10
*/
for 语句重复执行括起来的语句,如下所述:
· 首先,计算变量 i 的初始值。
· 然后,只要 i 的值小于或等于 10,条件计算结果就为 true。此时,将执行 Console.WriteLine 语句并重新计算 i。
· 当 i 大于10 时,条件变成 false 并且控制传递到循环外部。
由于条件表达式的测试发生在循环执行之前,因此 for 语句可能执行零次或多次。可以通过使用break、goto 、 throw或return语句退出该循环。
所有表达式的 for语句是可选的例如对于下面的语句用于写一个无限循环。
for (; ; ) { // ... }
foreach...in
foreach 语句对实现 System.Collections.IEnumerable 或 System.Collections.Generic.IEnumerable<T>接口的数组或对象集合中的每个元素重复一组嵌入式语句。 foreach 语句用于循环访问集合,以获取您需要的信息,但不能用于在源集合中添加或移除项,否则可能产生不可预知的副作用。 如果需要在源集合中添加或移除项,请使用 for循环。
嵌入语句为数组或集合中的每个元素继续执行。 当为集合中的所有元素完成循环后,控制传递给 foreach 块之后的下一个语句。
可以在 foreach 块的任何点使用 break 关键字跳出循环,或使用 continue 关键字进入循环的下一轮循环。
foreach 循环还可以通过 break、goto、return 或 throw 语句退出。
示例
在此示例中,使用 foreach 显示整数数组的内容。
class ForEachTest { static void Main(string[] args) { int[] barray = new int[] { 0, 1, 2, 3, 4, 5}; foreach (int i in barray) { System.Console.WriteLine(i); } } } /*
Output:
0
1
2
3
4
5
*/
while
while 语句执行一个语句或语句块,直到指定的表达式计算为 false。
class WhileTest { static void Main() { int n = 1; while (n < 5) { Console.WriteLine(n); n++; } } } /*
Output:
1
2
3
4
*/