C#基础数据类型

在学习C#的过程中,我们发现C#是基于.NET框架的语言,它自然定义了自己的数据类型,它们包括枚举类型、结构体类型和数组类型。

  • 枚举类型

//性别枚举

enum void Gender

        {

            //

              Female,

//

Male

           }

枚举类型使用enum关键字来完成声明。默认情况下,枚举中的每个元素都是int类型。用户可使用冒号,制定一种全新的整数值类型,如下如示:

//性别枚举

enum void Gender:byte

        {

            //

              Female,

//

Male

           }

如果未在枚举列表中制定元素的值,则默认会声明的第一个枚举成员设为0,之后的枚举成员一次加1。

  • 结构体类型

C#中的结构体是一种值类型,通常适用于表示如Point、Rectangle和Color等轻量级对象。结构体与类有这几乎相同的语法。结构体的定义如下所示:

public struct Point

        {

            Public int x;

            Public int y;

            Public Point(int px,int,py)

            {

                x = px;

                y = py;

}

        }

  • 数组类型

      数组是一种引用类型,它代表了相同类型元素的集合。下面的这行代码用于声明和初始化一个数组:

   type [] array = new type[arrayCount];

 在这里,Type为数组元素的类型,既可以是值类型,也可以是引用类型。声明数组时还需注意。方括号[]应放在类型Type后,变量array前。

我们可以使用下面的方法访问数组元素:

Type elementValue = array[index];

这里的index是数组的小标,它是从0开始,最大不能超过数组的长度减1.如果index超出了这个范围,程序会在运行时出现IndexOutOfRangeException异常。使用的代码如下所示:

public class Program

    {

        public static void Main(string[] args)

        {

            //声明并初始化一个含有5个元素的int数组

            int[] array = new int[5];

            //对数组进行遍历

            for(int i = 0;i <= array.Length - 1;i++)

            {

                //输出数组中的值

                Console.WriteLine(array[i]);

            }

            //等待用于输入的字符而退出程序

            //这行代码使程序在运行结束后不会直接退出,让读者看到运行的结果

            Console.ReadLine();

        }

}

上面的代码声明并初始化了一个名为array的数组,但并没有为其元素赋值。从程序的运行结果可以得出——当我们未对元素进行显示赋值时,对于int类型的数组,编译器会总动地将所有的元素设置为默认值0。

1、变量类型 int double string char bool decimal 变量的使用规则:先声明再赋值最后使用 int number; number=10; number=20; Console.WriteLine(number); 2、Camel Pascal 3、运算符 赋值运算符:= 复合赋值运算符:+= -= *= /= %= sum+=age; sum=sum+age; 算数运算符: + - * / % ++ -- 关系运算符: > < >= <= == != 逻辑运算符: && || ! 4、c#中的语法结构 分支结构: if if-else 选择结构: while do-while for 5、常量 声明的常量的语法: const 变量类型 变量名=值; 什么时候会用到常量? 6、枚举 语法: [public] enum 枚举名 { 值1, 值2, 值3, ........ } public:访问修饰符。公开的公共的,哪都可以访问。 enum:关键字,声明枚举的关键字 枚举名:要符合Pascal命名规范 将枚举声明到命名空间的下面,类的外面,表示这个命名空间下,所有的类都可以使用这个枚举。 枚举就是一个变量类型 ,int--double string decimal. 只是枚举声明、赋值、使用的方式跟那些普通的变量类型不一样。 我们可以将一个枚举类型的变量跟int类型和string类型互相转换。 枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转换的语法互相转换。 当转换一个枚举中没有的值的时候,不会抛异常,而是直接将数字显示出来。 枚举同样也可以跟string类型互相转换,如果将枚举类型转换成string类型,则直接调用ToString(). 如果将字符串转换成枚举类型则需要下面这样一行代码: (要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),"要转换的字符串"); 如果转换的字符串是数字,则就算枚举中没有,也会不会抛异常。 如果转换的字符串是文本,如果枚举中没有,则会抛出异常。 7、所有的类型都能够转换成string类型,调用ToString()。 8、结构 可以帮助我们一次性声明多个不同类型的变量。 语法: [public] struct 结构名 { 成员;//字段 } 变量在程序运行期间只能存储一个值,而字段可以存储多个值。 9、数组 一次性存储多个相同类型的变量。 语法: 数组类型[] 数组名=new 数组类型[数组长度]; ***数组的长度一旦固定了,就不能再被改变了 10、冒泡排序:就是将一个数组中的元素按照从大到小或者从小到大的顺序进行排列。 int[] nums={9,8,7,6,5,4,3,2,1,0}; 0 1 2 3 4 5 6 7 8 9 第一趟比较:8 7 6 5 4 3 2 1 0 9 交换了9次 i=0 j=nums.Length-1-i 第二趟比较:7 6 5 4 3 2 1 0 8 9 交换了8次 i=1 j=nums.Length-1-i 第三趟比较:6 5 4 3 2 1 0 7 8 9 交换了7次 i=2 j=nums.Length-1-i 第四趟比较:5 4 3 2 1 0 6 7 8 9 交换了6次 i=3 j=nums.Length-1-i 第五趟比较:4 3 2 1 0 5 6 7 8 9 交换了5次 第六趟比较:3 2 1 0 4 5 6 7 8 9 交换了4次 第七趟比较:2 1 0 3 4 5 6 7 8 9 交换了3次 第八趟比较:1 0 2 3 4 5 6 7 8 9 交换了2次 第九趟比较:0 1 2 3 4 5 6 7 8 9 交换了1次 for(int i=0;i<number.Length-1;i++) { for(int j=0;j<nums.Length-1-i;j++) { if(nums[j]>nums[j+1]) { int temp=nums[j]; nums[j]=nums[j+1]; nums[j+1]=temp; } } } 11、方法 函数就是将一堆代码进行重用的一种机制。 函数的语法: [public] static 返回值类型 方法名([参数列表]) { 方法体; } public:访问修饰符,公开的,公共的,哪都可以访问。 static:静态的 返回值类型:如果不需要写返回值,写void 方法名:Pascal 每个单词的首字母都大些。其余字母小写 参数列表:完成这个方法所必须要提供给这个方法的条件。如果没有参数,小括号也不能省略。 方法写好后,如果想要被执行,必须要在Main()函数中调用。 方法的调用语法: 类名.方法名([参数]); ***在某些情况下,类名是可以省略的,如果你写的方法跟Main()函数同在一个类中,这个时候, 类名可以省略。 12、return 1、在方法中返回要返回的值。 2、立即结束本次方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值