zoukankan      html  css  js  c++  java
  • C# 一、语法结构、注释、命名空间、Main入口点、变量与常量、运算符、流程控制(循环)

    一、代码结构

    1)一个 C# 程序主要包括以下部分:

    • 命名空间声明(Namespace declaration)
    • 一个 class
    • Class 方法
    • Class 属性
    • 一个 Main 方法
    • 语句(Statements)& 表达式(Expressions)
    • 注释
    using System;
    namespace HelloWorldApplication
    {
       class HelloWorld
       {
          static void Main(string[] args)
          {
             /* 我的第一个 C# 程序*/
             Console.WriteLine("Hello World");
             Console.ReadKey();
          }
       }
    }
    

      在项目中可以通过“类视图”来查看结构。

    2)注释

    1、注释符的作用
      1)、注销
      2)、解释


    2、c#的3种注释符
      1)、单行注释 //
      2)、多行注释 /*要注释的内容*/
      3)、文档注释 /// 多用来解释类或者方法

    • C#中#region和#endregion的用法:

    折叠中间的代码块(折叠后的说明文字为#region后面的说明)

    • summary

    输入三个杠的,如"///"用XML文件,将来调用这个类或方法时可以作为工具提示的

          /// <summary>
            /// 建立数据库连接.
            /// </summary>
            /// <returns>返回SqlConnection对象</returns>
    •  快捷键

      Ctrl + k + c 快速注释选中内容

      Ctrl + k + u 快速取消注选中的注释内容

    二、命名空间

    1)一个合名空间可以包含(如类、接口、委托等),而且 命名空间中也可以包含命名空间

    2)任何层次的对象的成员都可以使用成员运算符"."来引用,英文句点。

    3)引用命名空间

    •   有时命名空间名字长,或层次较多的情况,用using引用
    • 如需要使用相同类时,解决方法是在引入命名空间时为其分配一个别名
    using na =A
    
    using nb=B;

    4) using static 指令 ,可以引入目标命名空间下的静态类型。在代码中访问静态类的成员时就不必输入类型的名称。面是直接输入静态类型的成员名称就可以了。如下面的区别,如引入了Console类,直接输入成员名字就可了,不必输入类别。

    using System;
    
    console writeLine(....);
    using System;
    using static System.Console;
    
    namespace MyApp
    {
        class Program
        {
           static void Main(string[] args)
            {
                // 直接调用Console类的WriteLine方法
                WriteLine("可以直接调用静态方法。");
                // 直接调用Console类的ReadKey方法
                ReadKey();
            }
        }
    }                

    三 、Main入口点

    代码从入口点开始执行

    入口点有以下特点:

    1)必须声明一个类中

    2)必须声明为静态方法,加上static关键字。

    3)可以是void,不返回结果;也可以返回一个整数int,对于正常执行的应用程序,应返回为0,只有这两种类型。

    4)名字必须是Main,首字母 为M

    当有多个Main方法,需要选择一个入口点,在【项目】->【项目名称->属性】命令打开项目属性窗口。另一个方法是在“解决方案资源管理器”窗口中右击项目名称节点 。弹出菜单 中选择【属性】。

    四 、变量与常量

    1、变量

    1) 可以用default关键字来赋默认的值 ,如int x=default(int);             // x 的值 为0

    2)生命周期:变量暂存于内存中,当程序退出会销毁。

    3)变量允许代码中修改

    4)使用关键字命名时前面加“@”,不介意这样命名;不能使用数字开头命名。

    string aaa = "你好123";
    Label1.Text = aaa.Length.ToString();  //结果5
    Label2.Text = System.Text.Encoding.Default.GetBytes(aaa).Length.ToString();  //结果7

    String.Empty、NULL与""三者的区别

    String.Empty和""是一样的,都是空,习惯用string.empty。 Null和他们就有区别了,就是没有值,也没分配地址,此处可以理解成什么都没有。

    2、常量

    基本语法参考

    1)常量使用const关键字来定义

    2)常量值不能修改,变量的值不能赋值给常量

    3)常量是可以直接访问的,不像变量需要实例化。

    4)后缀和前缀

    数值常数有:整型常数、浮点常数;

    整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,没有前缀则表示十进制。

    整数常量也可以有后缀,可以是 U 和 L 的组合,其中,U 和 L 分别表示 unsigned 和 long。后缀可以是大写或者小写,多个后缀以任意顺序进行

    整型常数的后缀有:u或U(unsigned)、l或L(long)、u/U与l/L的组合(如:ul、lu、Lu等)。例:100u; -123u; 0x123l;
    浮点常数的后缀有:f或F(单精度浮点数)、l或L(长双精度浮点数)。(注:因浮点型常数总是有符号的,故没有u或U后缀)。例:1.23e5f; 1.23l; -123.45f;

    4)字符常量:在 C# 中有一些特定的字符,当它们的前面带有反斜杠时有特殊的意义,可用于表示换行符( )或制表符 tab( )。详细参考基本语法参考

    5)@"":让转移字符""保持原意,不要转义。

     字符常量

    参考具体表格详细介绍

    1)C# string怎么换行

    在要换行的地方输入“ ”即可换行,例如:

    string a = "我是第一行 " + "我是第二行" 。

    3、类型转换

    参考来自

    Convert.ToInt32(变量)//转换成整型

    Convert.ToDecimal();要转换的双精度浮点数。

    强制转换

    namespace TypeConversionApplication
    {
        class ExplicitConversion
        {
            static void Main(string[] args)
            {
                double d = 5673.74;
                int i;
    
                // 强制转换 double 为 int
                i = (int)d;
                Console.WriteLine(i);
                Console.ReadKey();
                
            }
        }
    }

    C#中ToString()格式详解

     在很多对象显示为字符串的时候都会使用到ToString中的格式化,由于以前没怎么注意到这个问题,想总结一下各个基础结构对象的格式化 Int.ToString(format):

    4、C# 可空类型(Nullable)

    参考来自

    C# 单问号 ? 与 双问号 ??

    ? : 单问号用于对 int,double,bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 NullAble 类型的。

    Null 合并运算符( ?? )

    如果第一个操作数的值为 null,则运算符返回第二个操作数的值,否则返回第一个操作数的值

     五、运算符

    基本语法参考来自

    三类运算符

    1、一元运算符:只有一个操作数:自增运算符、自减运算符
    2、二元运算符:只有两个操作数参与运算的运算符
    3、三元运算符,只有一个“?”
    <判断条件>?<条件为真时的表达式>:<条件为假时的表达式>

     

    自增运算符、自减运算符

    ++i:是在参与 其他运算之前加1

    i++:是参与运算后加1

    自减类似。 

    位运算符

    二进制位之间的运算,以下五种常用的运算方式

    1)按位与  &:必须二者同时为真时,结果才为1,否则为0.

    2)按位或  |:只要有一个是真,结果就为真

    3)左移   <<:将二进制都向左移若干位。

    4)右移   >>:将二进制都向右移若干位。

    5)异或  ^  :只有一个为真时才为真,否则为0.

    比较运算符

    比较运算符的用途就是用来比较两个表达式,结算结果为布尔类型,True,False

    >,<,==,>=,<=

    &&,||

    六、流程控制

    按两次Tab,自动出来代码块

    分支结构

    1)if语句

    2)switch:一个固定值,判断用 ==

    break 语句 终止 loop 或 switch 语句,程序流将继续执行紧接着 loop 或 switch 的下一条语句。可以完成 即时跳循环的功能 
    continue 语句 引起循环跳过主体的剩余部分,立即重新开始测试条件。不跳出整个循环,只是跳过某一轮循环。

    循环往复

    1)for语句

    for ( init; condition; increment )
    {
       statement(s);
    }

    下面是 for 循环的控制流:

    1. init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。

    2. 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。

    3. 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。

    4. 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。

    2) foreach

    适合枚举如数组、列表、集合之类的数据结构的元素,事先也不必准确知道元素的个数。

    3)whil语句

  • 相关阅读:
    PHP实现无限极分类
    html2canvas生成并下载图片
    一次线上问题引发的过程回顾和思考,以更换两台服务器结束
    Intellij IDEA启动项目报Command line is too long. Shorten command line for XXXApplication or also for
    mq 消费消息 与发送消息传参问题
    idea 创建不了 java 文件
    Java switch 中如何使用枚举?
    Collections排序
    在idea 设置 git 的用户名
    mongodb添加字段和创建自增主键
  • 原文地址:https://www.cnblogs.com/michellexiaoqi/p/9866852.html
Copyright © 2011-2022 走看看