for循环

using System;
namespace c.mydemo.net
{
 class Demo
    { 
        static void Main(string[] args)
        {
            for (int i=1;i<=9;i++)
            {
                Console.WriteLine("{0}",i);
            }
        }
    }
}

  

using System;
using System.Globalization;

namespace c.mydemo.net
{
 class Demo
    { 
        static void Main(string[] args)
        {
            for (int i=1;i<=9;i++)
            {
                for (int j=1;j<=i;j++)
                {
                   Console.Write("{0} x {1} = {2}  ", j, i, i * j);
                }
                Console.WriteLine();
            }
        }
    }
}

 

using System;
using System.Globalization;

namespace c.mydemo.net
{
 class Demo
    { 
        static void Main(string[] args)
        {
            for (; ; )
            {
                   Console.Write("停不下来的无限循环");
            }
        }
    }
}

  

 

C#的基本语法和C/C++,Java的语法基本一致。下面只指出两者的不同之处。

C#使用using用来引入库文件,类似于Java的import以及C++的using namespace语句。同样C#也使用namespace来声明一个命名空间。

C#不像C++一样,有用于输入输出的关键字cin和cout,而是依赖于.NET类。最基本的类是System,这个类几乎所有的C#程序都要用到。

C#从一开始设计就是完全面向对象的,这一点和C++是不同的,因此一段C#代码都必须包含在一个类之中。

所有的C#代码的入口函数都是从下面这段代码开始的。

public static void Main()    //public修饰符是为了在任何地方都能访问该方法
{                            //static是为了使该方法无需实例化对象就能使用,否则无法访问入口函数
    return;                  //声明的返回值是void,因此return;就结束了,不要试图返回一个数值。
                             //当你把返回值声明为int的时候,才能返回一个数值
}    //但是这个返回值只能是void或者int。

需要注意的是C#的入口函数的Main的M是大写的。

C#中的所有变量在定义的时候都需要初始化,否则会出现语法错误,而不是像C/C++一样,只会产生一个警告。因此,我们说C#的安全性很高。这样能防止程序使用未初始化的垃圾值。

C#初始化变量的值一般有下面两种办法:

  1. 变量定义在类或者结构中,如果你忘记初始化,那么默认初始化为0。

  2. 在方法内部定义的局部变量必须初始化,否则错误。

C#的bool类型只有两个值true和false。在C#当中,绝不能使用0和1来代替false和true。

我们在使用C#的string引用类型的时候,感觉其操作和值类型是一致的,这是因为C#重载了运算符,并不是说string是一个值类型。例如我们可以使用+来连接两个字符串,以及使用=来给一个string变量赋值,产生一个新变量,而不是引用。

C#为路径地址等的麻烦的转义写法提供新的方式,就是在一串字符串的前面加上@符号。例如:

string path = @"C:\windows\system32";

C#的if语句之后的条件表达式必须是布尔类型的,不能是数值类型。这和C/C++语言不一样。

C#的switch语句相比C/C++的更加强大,它支持case后面的标签的类型包括字符串和整数。并且C#要求所有的case后面都必须有一个break;语句除非这条case标签后面是空的,那么可以没有break;例如:

switch(x)
{
    case 0:
    case 1:
    case 2: z = x + y;break;
}

 

posted @ 2023-03-31 15:07  飞雪飘鸿  阅读(19)  评论(0编辑  收藏  举报
https://damo.alibaba.com/ https://tianchi.aliyun.com/course?spm=5176.21206777.J_3941670930.5.87dc17c9BZNvLL