C#学习笔记(2)

继续来分享一下这周的学习成果~

一个就是foreach循环

int[] a = { 1, 2, 3, 4, 5, 6, 7, 8 };
foreach(int i in a )
{
    Console.WriteLine(i);
}

foreach循环大大的简化了循环的格式,使用更为方便 ,而且在foreach循环中可以像在其他循环中一样使用break,continue等关键字,使用更加方便

说到变量的类型转换,C#中只允许将取值范围小的变量赋值给取值范围大的变量,使得赋值操作更为安全。

说到这里,再提一点C#与C++的不同

由于编译器的标准不同,某些预算的处理顺序在这两种语言中并不相同

比如下面这个例子

#include <iostream>

using namespace std;

int main()
{
    int i=5,j=5;
    int y1=0,y2=0;
    y1=(++i)+(++i)+(++i);
    y2=(j++)+(j++)+(j++);
    cout<<y1<<endl<<y2<<endl;
    return 0;
}

运行结果如下

同样一段代码在C#里面

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 5, j = 5;
            int y1 = 0, y2 = 0;
            y1 = (++i) + (++i) + (++i);
            y2 = (j++) + (j++) + (j++);
            Console.WriteLine(y1);
            Console.WriteLine(y2);
        }
    }
}

运行结果却大不相同

C#中的运行结果很容易让人理解

y1=6+7+8

y2=5+6+7

但是C++中的运行结果却让人难以明白

虽然具体的原因我还没有完全了解,但是这个例子也告诉我们一个道理,在编写程序的时候尽量应该减少连续的运算,在不确定运算优先级的情况下下应该用括号表明优先级的顺序,养成良好的代码风格对以后编写大型程序的时候会很有帮助。

原文地址:https://www.cnblogs.com/ljc825/p/4364158.html