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
        */

(0)

相关推荐

  • 数据库中的SELECT语句逻辑执行顺序分析

    引言 这不是一个什么多深的技术问题,多么牛叉的编程能力.这跟一个人的开发能力也没有非常必然的直接关系,但是知道这些会对你的SQL编写,排忧及优化上会有很大的帮助.它不是一个复杂的知识点,但是一个非常基础的SQL根基.不了解这些,你一直用普通水泥盖房子:掌握这些,你是在用高等水泥盖房子. 然而,就是这么一个小小的知识点,大家可以去调查一下周围的同事朋友,没准你会得到一个"惊喜". 由于这篇文章是突然有感而写,下面随手编写的SQL语句没有经过测试. 看下面的几段SQL语句: 复制代码 代码

  • C#中foreach语句使用break暂停遍历的方法

    本文实例讲述了C#中foreach语句使用break暂停遍历的方法.分享给大家供大家参考.具体分析如下: 下面的代码演示了在C#中使用foreach时如何通过break语句暂停数据遍历 using System; public class w3demo { public static void Main() { int sum = 0; int[] nums = new int[10]; // give nums some values for(int i = 0; i < 10; i++) n

  • C#使用foreach语句遍历队列(Queue)的方法

    本文实例讲述了C#使用foreach语句遍历队列(Queue)的方法.分享给大家供大家参考.具体如下: using System; using System.Collections; public class QueuesW3 { static void Main(string[] args) { Queue a = new Queue(10); int x = 0; a.Enqueue(x); x++; a.Enqueue(x); foreach (int y in a) { Console.

  • C#使用foreach语句简单遍历数组的方法

    本文实例讲述了C#使用foreach语句简单遍历数组的方法.分享给大家供大家参考.具体如下: using System; public class jb51demo { public static void Main() { int sum = 0; int[] nums = new int[10]; // give nums some values for(int i = 0; i < 10; i++) nums[i] = i; // use foreach to display and su

  • SQLServer中SELECT语句的执行顺序

    今天在写一条语句的时候,在查询分析器里边执行 要用10s,换用另外一种写法只用少于1s的时间,同事说是因为Sql句语执行顺序的原因.之前看过一点相 关的书,有一点印象,到网上找了资料,学习下. 逻辑查询处理步骤 复制代码 代码如下: (8)SELECT (9)DISTINCT (11)<TOP_specification> <select_list> (1)FROM <left_table> (3) <join_type> JOIN <right_ta

  • SQL Select语句完整的执行顺序

    1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5.使用having子句筛选分组: 6.计算所有的表达式: 7.使用order by对结果集进行排序. 举例说明: 在学生成绩表中 (暂记为 tb_Grade), 把 "考生姓名"内容不为空的记录按照 "考生姓名" 分组, 并且筛选分组结果, 选出 "总成绩" 大于 600 分

  • C#中while循环语句用法实例详解

    本文实例讲述了C#中while循环语句用法.分享给大家供大家参考.具体实现方法如下: 在C#中while循环是我们经常会用到的一种循环语句,while循环特点是直到条件为零时才跳出循环,当然中间可以利用其它函数直接跳出,对于while的具体用法有必要做一个较为详尽的分析. 先来说Foreach和For的区别,Foreach是针对对象进行遍历的,不需要定义循环次数,但是有个缺点,Foreach遍历取的是只读数据,不能在Foreach中进行对象的增删改,而For循环就可以.这个改成while循环的代

  • C#使用带like的sql语句时防sql注入的方法

    本文实例叙述了在拼接sql语句的时候,如果遇到Like的情况该怎么办. 一般采用带like的SQL语句进行简单的拼接字符串时,需要开率遇到sql注入的情况.这确实是个需要注意的问题. 这里结合一些查阅的资料做了初步的整理. 如这样一个sql语句: select * from game where gamename like '%张三%' 用c#表示的话: string keywords = "张三"; StringBuilder strSql=new StringBuilder();

  • 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

  • SQL语句执行顺序详解

    我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,由于SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理. 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入.这些虚拟表对调用者(客户端应用程序或者外部查询)不可用.只是最后一步生成的表才会返回 给调用者.如果没有在查询中指定某一子句,将跳过

  • sql和MySQL的语句执行顺序分析

    今天遇到一个问题就是mysql中insert into 和update以及delete语句中能使用as别名吗?目前还在查看,但是在查阅资料时发现了一些有益的知识,给大家分享一下,就是关于sql以及MySQL语句执行顺序: sql和mysql执行顺序,发现内部机制是一样的.最大区别是在别名的引用上. 一.sql执行顺序 (1)from (2) on (3) join (4) where (5)group by(开始使用select中的别名,后面的语句中都可以使用) (6) avg,sum....

  • 从零开始学习SQL查询语句执行顺序

    SQL查询语句执行顺序如下: (7) SELECT (8) DISTINCT <select_list> (1) FROM <left_table> (3) <join_type> JOIN <right_table> (2) ON <join_condition> (4) WHERE <where_condition> (5) GROUP BY <group_by_list> (6) HAVING <having_

  • Mysql系列SQL查询语句书写顺序及执行顺序详解

    目录 1.一个完整SQL查询语句的书写顺序 2.一个完整的SQL语句执行顺序 3.关于select和having执行顺序谁前谁后的说明 1.一个完整SQL查询语句的书写顺序 -- "mysql语句编写顺序" 1 select distinct * 2 from 表(或结果集) 3 where - 4 group by -having- 5 order by - 6 limit start,count -- 注:1.2属于最基本语句,必须含有. -- 注:1.2可以与3.4.5.6中任一

  • MySQL 语句执行顺序举例解析

    目录 1.SQL数据举例 my_user 表数据 my_order数据 测试数据生成 2.SQL的执行顺序 1.SQL数据举例 举例:有10个用户,输出在订单表中下单数最多的5个人的名字. my_user 表数据 my_order数据 my_order,uid对应my_user表的id: 测试数据生成 写一个存储过程,随机插入10000条数据: CREATE DEFINER=`root`@`localhost` PROCEDURE `test_loop`( ) BEGIN DECLARE i I

  • SQL语句执行顺序图文介绍

    大家好,我们的数据库已经介绍完了,这里给大家总结一下. 我们这段主要是学习了SQL的增删改查语句,其中查询是我们的重点.我们是以SQL Server 2005来学习的SQL语句,关于SQL Server的图形界面操作,和关于视图.数据库备份还原这些大家下来要下来看一下. 关于Oracle,我们都已经学习了SQL语句,那么Oracle其实已经学习了一大半,就接下来自己学习Oracle主要是看一下他的概念,Oracle和SQL Server还是有很大不同的,熟悉他的表空间这些概念,了解他的图形界面,

  • MySQL语句执行顺序和编写顺序实例解析

    select语句完整语法: SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by_list> HAVING <having_condition> ORDER BY <order_

  • C++程序的执行顺序结构以及关系和逻辑运算符讲解

    C++顺序结构程序 [例]求一元二次方程式ax2+bx+c=0的根.a,b,c的值在运行时由键盘输入,它们的值满足b2-4ac≥0.根据求x1,x2的算法.它可以编写出以下C++程序: #include <iostream> #include <cmath> //由于程序要用到数学函数sqrt,故应包含头文件cmath using namespace std; int main( ) { float a,b,c,x1,x2; cin>>a>>b>>

  • SQL语句执行深入讲解(MySQL架构总览->查询执行流程->SQL解析顺序)

    前言: 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了. 本文将从MySQL总体架构--->查询执行流程--->语句执行顺序来探讨一下其中的知识. 一.MySQL架构总览: 架构最好看图,再配上必要的说明文字. 下图根据参考书籍中一图为原本,再在其上添加上了自己的理解. 从上图中我们可以看到,整个架构分为两层,上层是MySQLD的被称为的'SQL Layer',下层是各种各样对上提供接口的存储引擎,被称为'Storage Engin

随机推荐