zoukankan      html  css  js  c++  java
  • C#语言基础(一)

    一、基本代码结构:

     1 using System;
     2 namespace HelloWorldApplication
     3 {
     4    class HelloWorld
     5    {
     6       static void Main(string[] args)
     7       {
     8          /* 我的第一个 C# 程序*/
     9          Console.WriteLine("Hello World");
    10          Console.ReadKey();
    //这使得程序会等待一个按键的动作,防止程序从 Visual Studio .NET 启动时屏幕会快速运行并关闭。
    11 } 12 } 13 }

    c#的文件后缀:.cs

    c#是大小写敏感、每句话要以;结尾、文件名可以与类名不同。类和变量的定义与C++一致

    Console.ReadLine() 会等待直到用户按下回车,一次读入一行。

    Console.ReadKey() 则是等待用户按下任意键,一次读入一个字符。

    Console.WriteLine("Area: {0}", GetArea()); //打印函数返回的结果

    二、数据类型

     1 值类型(Value types)
     2 值类型直接包含数据。比如bool、doubleintcharfloat,它们分别存 储布尔值、双精度浮点数数字、字符、浮点数。
     3 运用sizeof(int) 看存储大小,几个字节
     4    十进制类型:decimal
    5 5 引用类型(Reference types) 6 包含对变量的引用。它们指的是一个内存位置。 7 内置的 引用类型有:objectdynamicstring 8 对象(Object)类型 9 System.Object 类的别名。所以对象(Object)类型可以被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值。 10 但是,在分配值之前,需要先进行类型转换。 11 当一个值类型转换为对象类型时,则被称为 装箱;另一方面,当一个对象类型转换为值类型时,则被称为 拆箱。 12 object obj; 13 obj = 100; 14 15 动态(Dynamic)类型 16 可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的。这点区别于对象类型 17 dynamic <variable_name> = value; 18 dynamic d = 20; 19 20 字符串(String)类型 21 System.String 类的别名。它是从对象(Object)类型派生的。字符串(String)类型的值可以通过两种形式进行分配:引号和 @引号。 22 @ 字符串中可以任意换行,换行符及缩进空格都计算在字符串长度之内 23 String str = "runoob.com"; 24 string str = @"<script type=""text/javascript""> 25 <!-- 26 --> 27 </script>"; 28 C# string 字符串的前面可以加 @(称作"逐字字符串")将转义字符(\)当作普通字符对待 29 string str = @"C:\Windows"; 30 == 31 string str = "C:\\Windows"; 32 指针类型(Pointer types) 33 于C++相同 34 char* cptr; 35 int* iptr;

    三、类型转换

    • 隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。
    • 显式类型转换 - 显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。
    强转
    double d = 5673.74;   int i;
     // 强制转换 double 为 int
      i = (int)d;
    
    内置转换方法
    ToDateTime
    把类型(整数或字符串类型)转换为 日期-时间 结构。
    ToInt64
    把类型转换为 64 位整数类型。
    ToString
    把类型转换为字符串类型。
     int i = 75;
     Console.WriteLine(i.ToString());

    四、C#变量

    枚举类型:enum 枚举名 {枚举元素1,枚举元素2,……};

    变量的定义:

    <data_type> <variable_name> = value;

    variable_list 可以由一个或多个用逗号分隔的标识符名称组成。并直接初始化

    num = Convert.ToInt32(Console.ReadLine());

    接受用户的值:函数 Convert.ToInt32() 把用户输入的数据转换为 int 数据类型,因为 Console.ReadLine() 只接受字符串格式的数据。

    五、C#常量

    整数常量:

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

    85         /* 十进制 */
    0213       /* 八进制 */
    0x4b       /* 十六进制 */

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

    30         /* int */
    30u        /* 无符号 int */
    30l        /* long */
    30ul       /* 无符号 long */

    浮点常量

    使用小数形式或者指数形式来表示浮点常量。

    3.14159       /* 合法 */
    314159E-5L    /* 合法 */

    必须包含小数点、指数或同时包含两者。使用指数形式表示时,必须包含整数部分、小数部分或同时包含两者。有符号的指数是用 e 或 E 表示的。

    字符常量

    \a Alert 或 bell
    \b 退格键(Backspace)
    \f 换页符(Form feed)
    \n 换行符(Newline)
    \r 回车
    \t 水平制表符 tab

    字符串常量

    string e = "Joe said \"Hello\" to me";      // Joe said "Hello" to me
    string f = @"Joe said ""Hello"" to me";   // Joe said "Hello" to me
    string g = "\\\\server\\share\\file.txt";   // \\server\share\file.txt
    string h = @"\\server\share\file.txt";      // \\server\share\file.txt

    常量定义

    const <data_type> <constant_name> = value;

    五 运算符

    • 算术运算符

    +,-,*,/,%,++,-- 

    c = a++: 先将 a 赋值给 c,再对 a 进行自增运算。c = ++a: 先将 a 进行自增运算,再将 a 赋值给 c 。

    • 关系运算符

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

    • 逻辑运算符

    &&, ||,! (与或非)

    • 位运算符

    逐位执行操作。&、 | 和 ^  

    &:同一为一,否则为0

    |:有一为一,否则为0

    ^: 相同为一,不同为0

    ~:含符号位,均取反

    <<:二进制左移运算符,后补0:A << 2 将得到 240,即为 1111 0000

    >>:二进制右移运算符,前补0:A >> 2 将得到 15,即为 0000 1111

    • 赋值运算符

    =、+=、-=、*=、/=、%=、<<=、 >>=、 &=、  ^=、 |=

    • 其他运算符

    &:取地址;

  • 相关阅读:
    申通完美支撑“双11”——亿级包裹背后的云基础设施
    你不知道的云服务器付费新模式,省钱就靠它了
    从“虚拟化”到“新基建”,云计算如何继续乘风破浪?
    Alibaba Cloud Linux 2 LTS 快速启动优化实践
    Alibaba Cloud Linux 2 LTS 正式发布,提供更高性能和更多保障!
    连续四年,神龙又扛住了“双11”
    飞天丨想象没有边界,创造改变未来
    清华大学高琪瑞:基于云端视觉计算建设全球先进的工科实验教学平台
    映客高级技术总监黄继:7天从开发到上线,云上高效运维实践与探索
    三维家如何借助云变革家居行业
  • 原文地址:https://www.cnblogs.com/sylvia1111/p/15618869.html
Copyright © 2011-2022 走看看