码迷,mamicode.com
首页 > 编程语言 > 详细

37. C# -- 常量\枚举\结构及数组的运用

时间:2015-05-25 20:37:30      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:c#

一、常量\枚举\结构的运用

 

理论:

 

常量:const  类型 常量名 = 常量值

 

确定数量、确定值的几个取值:东西南北、男女、上中下。

 

枚举: enum Gender{male,female}

 

字符串与枚举的转换:(Gender)(Enum.Parse( typeof(Gender),“male”));每一个值都对应一个数字

 

结构体:访问修饰符struct结构名

 

{

 

  定义结构成员

 

}

 

实操:

 

1,const

 

tatic void Main(string[] args)

 

{

 

       const int  PI = 3.14;

 

       PI = 3.20;

 

}

 

2,enum

 

enum QQStatus{online,offline,hidden}

 

QQStatus status = QQStatus.online;

 

3,结构体和枚举的运用

 

定义一个结构类型Person,有三个成员,分别为姓名,性别,年龄 性别用枚举类型

–声明两个Person类型的变量,分别表示 张三 男  18岁/ 小兰 女 16岁

 

class Program

   {

       public enum Gender {femal,meal};

       public struct person { public string name; public int age; public  Gender  gender;}

       static void Main(string[] args)

       {

           //定义一个结构类型Person,有三个成员,分别为姓名,性别,年龄 性别用枚举类型

           //声明两个Person类型的变量,分别表示 张三 男  18岁/ 小兰 女 16岁

           person p1 = new person();

           p1.name = "张三";

           p1.gender = Gender.femal;

           p1.age = 18;

           person p2 = new person();

           p2.name = "小兰";

           p2.gender = Gender.meal;

           p2.age = 16;

           Console.WriteLine("大家好,我是{0},是个{1}生,今年{2}岁",p1.name,p1.gender,p1.age);

           Console.WriteLine("大家好,我是{0},是个{1}生,今年{2}岁", p2.name, p2.gender, p2.age);

           Console.ReadKey();

       }     

   }

二、数组

理论:

 

保存多个值;几乎任意类型都可以声明数组; int[] nums = new int[3];int[] nums = {5,3,8};

 

in[]nums=new int[3]{1,2,3};int[]nums=new int[]{2,3,5};

 

int[] nums = new int[3]{5,3,8}//个数和声明数必须一致

 

int[] nums = new int[5]{5,3,8}//错误

 

int[] nums = new int[]{5,3,8}//正确,可以省略数组个字

 

数组的声明:以上四种

 

使用索引器访问指定编号位置的元素,访问数组元素:nums[0]、nums[1]。索引从0开始。取到的元素的类型就是数组元素的类型。还可以对数组元素进行赋值。

 

常见问题:求平均值,求最大值,求和,排序

 

Array排序 和反序

 

实操:

 

数组里面都是人的名字,分割成:例如:老杨|老苏|老邹…”

 

 

string names = "";

string[] name = new string[8] { "老杨", "老苏", "老邹", "老虎", "老牛", "老蒋", "老王", "老马" };

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

{

    names += name[i] + "|";

 

}

Console.Write(names + name[name.Length - 1]);

Console.ReadKey();


 将一个整数数组的每一个元素进行如下的处理:如果元素是正数则将这个位置的元素的值加1,如果元素是负数则将这个位置的元素的值减1,如果元素是0,则不变。

 

 

for (int i = 0; i < num.Length; i++)

      {

          Console.WriteLine(num[i]);

      }

      Console.WriteLine("----------------------------");

for (int i = 0; i < num.Length; i++)

     {  

          if(num[i]<0)

          {

              num[i]--;

          }

          else if (num[i] > 0)

          {

              num[i]++;

          }

          else

          {

              

          } 

          Console.WriteLine("现在的值是:{0}",num[i]);

           

     }

      Console.ReadKey();


 将一个字符串数组的元素的顺序进行反转。{“我”,“是”,”好人”} {“好人”,”是”,”我”}。第i个和第length-i-1个进行交换

 

 

string  [] str = {"我","是","好人" };

for (int i = 0; i < str.Length/2; i++)

{

   string temp = str[i];

   str[i] = str[str.Length - 1 - i];

   str[str.Length - 1 - i] = temp;   

}

for (int i = 0; i < str.Length; i++)

{

    Console.Write(str[i]);

}

   Console.ReadKey();


 从一个整数数组中取出最大的整数,最小整数,总和,平均值

 

 

int[] num = { 51, 21, 82, 41, 10, -5 };

int max = 0;

int min = 0;

int sum = 0;

for (int i = 0; i < num.Length; i++)

{

    if (num[i] > max)

    {

        max = num[i];

    }

    else if (num[i] < min)

    {

        min = num[i];

    }

    sum = sum + num[i];

}

Console.WriteLine("最大的整数是:{0},最小的整数是:{1}", max, min);

Console.WriteLine("总和是{0},平均值是:{1}", sum, sum /num.Length);

Console.ReadKey();


参考:

http://www.2cto.com/kf/201411/351593.html 

本文出自 “Ricky's Blog” 博客,请务必保留此出处http://57388.blog.51cto.com/47388/1655034

37. C# -- 常量\枚举\结构及数组的运用

标签:c#

原文地址:http://57388.blog.51cto.com/47388/1655034

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!