继续来分享一下这周的学习成果~
虽然还是一些很基础的东西,但是和之前学的Java还是有一定的区别的
最典型的一个就是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++中的运行结果却让人难以明白
虽然具体的原因我还没有完全了解,但是这个例子也告诉我们一个道理,在编写程序的时候尽量应该减少连续的运算,在不确定运算优先级的情况下下应该用括号表明优先级的顺序,养成良好的代码风格对以后编写大型程序的时候会很有帮助。
原文:http://www.cnblogs.com/ljc825/p/4364158.html