• 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++中的运行结果却让人难以明白

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

  • 相关阅读:
    记一次简单的正则表达式匹配实践
    使用readlines()读取文件时出现/n及其解决办法
    浅谈http和https
    JVM GC回收原理的认识
    Mysql中语言分类和区别
    关于storm程序性能压测记录及总结
    Java 集合框架
    MySQL binlog底层主从同步原理
    Docker-Compose安装
    gcc手动安装
  • 原文地址:https://www.cnblogs.com/ljc825/p/4364158.html
Copyright © 2020-2023  润新知