C#学习——简介(第一天)

时间:2023-03-08 16:11:00

一、控制台输出

在控制台输出:

console.writeline();

console.readkey();

加上后面一句是为了保证弹窗不会一闪而过。

二、注释

1.单行注释:

//int a=90;

快捷键:Ctrl+K+c

2.多行注释

2 /* int a=12; float b=10.2; */

快捷键: /*  */

三、数据类型

1.值类型

  • datetime  事件类型
  • enum      枚举类型
  • struct      结构类型
  • int、float、double   数字类型

2.引用类型

  • char  字符型(默认值为‘’,如 char a=‘you’)
  • 类类型(用户通过class定义出来的类型)

3.其他类型

(1)整形

  • int     int32
  • short(短整形)  int16
  • long (长整形)  int64

(2)时间类型应用实例

                     //时间类型,获取当前时间()
DateTime p = DateTime.Now;
//获取国际时间
DateTime k = DateTime.UtcNow;

4.数据类型的转换

(1)隐式转换

 int num=;
float num1=num;

套路:

  • 只能由低精度类型转换为高精度类型;
  • 转换的两种数据类型必须一致;

(2)显示类型转换

方法1:利用Parse方法转换

 string str=“”;
int num=int.parse(str);
int strnum=;
float num2=float.parse(strnum);

方法2:利用Convert方法转换

 string str=“21.52”;
double dou=convert.todouble(str);
int num=convert.toint(str);

套路:

  • 只能由高精度类型向低精度类型转换(可能会丢失部分数据,如小数部分)

四、变量

1.作用域

             int b = ;
int c = ;
if (b > )
{
int k = ;
Console.WriteLine("k");
}

(1)局部变量

上面的k即为局部变量,作用域:从大括号的开始到大括号的结束,如果要在大括号外面使用,需要再次定义变量。

(2)全局变量

上面的b、c即为全局变量,作用域即为整个主函数内部,在任何地方都能使用,不需要再次定义。

(3)static修饰的变量

用static修饰的变量(即为全局变量)没有作用限制,在任何地方均能使用,但是必须要写在顶部位置,如下图:

C#学习——简介(第一天)

五、逻辑运算符(按位符)

位操作符是对数据按二进制位进行运算的操作符。位操作是其他很多语言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的数据类型是基本数据类型,如byte、short、char、int、long等,C#支持的位操作有如下几种:

  • 按位与 &
  • 按位或 |
  • 按位取反 ~
  • 左移 <<
  • 右移 >>
  • 异或^

在C#中位操作同C的位操作没有什么区别,位操作的速度相对较快,而且如果熟练的话,处理起来也相对方便,特别是在一些权限等相关的设置中,比如:用1、2、4、8、16、32、64分别代表查看、添加、编辑、修改、删除、审批等权限值的时候,如果某个用户的最终权限是多种权限值的叠加,用位操作来判断是否具有某种权限是相当方便的了。

例一:

 using System;
/*  * 说明:本程序用以说明在C#中如何进行位操作。  * */
public class BitAction
{
    public static void Main(string[] args)
    {
        int[] power = new int[] { , , , , , ,  };
        int value = ;
        /*
         * 1的二进制形式:  00000001
         * 2的二进制形式:  00000010
         * 4的二进制形式:  00000100
         * 8的二进制形式:  00001000
         * 16的二进制形式: 00010000
         * 32的二进制形式: 00100000
         * 64的二进制形式: 01000000
         * 126的二进制形式:01111110
         */
        for (int i = ; i < power.Length; i++)
        {
            if ((value & power[i]) != )
            {
                Console.WriteLine("有power[{0}]={1}所代表的权限", i, power[i]);
            }
        }
        Console.WriteLine("按位与:126&4={0}", value & );
        Console.WriteLine("按位或:126|4={0}", value | );
        Console.WriteLine("左移:126<<4={0}", value << );
        Console.WriteLine("右移:126>>4={0}", value & );
        Console.WriteLine("异或:126^4={0}", value ^ );
        Console.WriteLine("按位取反:~126={0}", ~value);
        Console.ReadLine();
    }
}

结果如下:

C#学习——简介(第一天)

例二:

 //举例说明
using System;
class MikeCat
{
public static void Main()
{
int a=&;
Console.WriteLine("a={0}",a);
//6的二进制是00000110,3的二进制是00000011,按位与后等于00000010,  即2。
    
int b=|;
Console.WriteLine("b={0}",b);
//6的二进制是00000110,3的二进制是00000011,按位或后等于00000111,即7 int c=~;
Console.WriteLine("c={0}",c);
//6的二进制是00000110,按位取反后是11111001即-7 int d=^;
Console.WriteLine("d={0}",d);
//6的二进制是00000110,3的二进制是00000011,按位异或后等于00000101,即5 int e=<<;
Console.WriteLine("e={0}",e);
//6的二进制是00000110,左移三位后等于00101000,即48 int f=>>;
Console.WriteLine("f={0}",f);
//6的二进制是00000110,右移二位等于00000001,即1
  }

按位符参考网址:http://www.cnblogs.com/yiki/archive/2008/03/05/1091378.html