精华内容
下载资源
问答
  • PHP 输出mysql枚举类型数组

    千次阅读 2012-07-19 18:13:35
    charset=utf-8" ); $sql = "SHOW COLUMNS FROM ord_staff LIKE 'staffclass' ";//查找字段名等 $model = new Model ( ); $result = $model->query ( $sql );...ThinkPHP 查看表中枚举类型,并输出成数组
    		header ( "Content-Type:text/html; charset=utf-8" );
    		$sql = "SHOW COLUMNS FROM ord_staff LIKE  'staffclass' ";//查找字段名等
    		$model = new Model ( );
    		$result = $model->query ( $sql );
    		$enum = $result [0] ['Type'];
    		$enum_arr = explode ( "(", $enum );
    		$enum = $enum_arr [1];
    		$enum_arr = explode ( ")", $enum );
    		$enum = $enum_arr [0];
    		$enum_arr = explode ( ",", $enum );
    		for($i = 0; $i < count ( $enum_arr ); $i ++) {
    			$enum_arr[$i] = str_replace ( "'", "", $enum_arr[$i] );
    			echo $enum_arr[$i];
    		}


    ThinkPHP 查看表中枚举类型,并输出成数组

    展开全文
  • C# 枚举 结构体 数组

    2020-07-17 21:39:53
    枚举类型名.枚举值 枚举是一个值类型,枚举值还可标记一个整型数字予以匹配,默认从0开始计数 举个例子 //创建枚举表示游戏的所有状态(1表示开始游戏,2表示暂停游戏,0表示结束游戏) //懒得查英文了 用的拼音 ...

    枚举

    表示类型,枚举是自定义类型

    enum 枚举名{
        枚举值1,
        枚举值2,
        枚举值3
    }
    枚举类型名.枚举值
    

    枚举是一个值类型,枚举值还可标记一个整型数字予以匹配,默认从0开始计数

    举个例子

    //创建枚举表示游戏的所有状态(1表示开始游戏,2表示暂停游戏,0表示结束游戏)
    //懒得查英文了 用的拼音 0.0 哈哈
    enum ZhuangTai
    {
        kaiShiYouXi,
        ZanTingYouXi,
        JieShuYouXi
    }
    static void Main(string[] args)
    {
        ZhuangTai zhuangTai = ZhuangTai.JieShuYouXi;
        WuQi wuQi = WuQi.BuQiang;
    }
    

    结构体

    struct 结构体名
    {
        结构体内容
    }
    

    结构体是值类型 使用点运算(.)

    struct Student
    {
        public string name;
        public char sex;
        public int age;
        public string school;
        public string phoneNumber;
    } 
    //注意在 student这个结构体里不能赋初值
    
    static void Main(string[] args)
    {
        Student xiaoming;
        xiaoming.name = "xiaoming";
        xiaoming.sex = 'M';
        xiaoming.age = 15;
        xiaoming.school = "北京四中";
        xiaoming.phoneNumber = "13901234567";
    
    }
    

    结构体的构造函数

    首先要知道为啥要有构造函数 ,构造函数是解决,上面这种小例子这种问题的,这还只是五个,如果五十个呢? 所以有了构造函数

    构造函数是没有返回值的

    public Student(各种参数){//Student要和结构体的名一样
    	this.什么什么(这个带this的取得是构造函数上面的) = 什么什么(没有this的,取得是参数,取最近的)
    }
    
    
    //一般你不写构造函数,系统会有一个默认的构造函数
    //在调用是要一个一个去写
    Student xiaomei = new Student();
    xiaomei.name = "";
    ......
    //但是如果自己写了构造函数
    Student xiaogang = new Student("xiaogang","M",16, ......)
    
    

    访问修饰符

    这个就是限制程序员自己的。简单点可以理解为,写了一个方法然后可以被哪些地方访问

    程序集													public 公有的 所有地方都可以用,跨程序集 需要先using 
    程序集													private 私有的 只有在同一个类,同一个结构体中 才有用
    ......												  protected 受保护的 比private多一个子类也能调用
    	命名空间
    	命名空间
    	......
    		结构体
    			方法
    			方法
    			......
    		类
    		类
    			方法
    			方法
    			......
    			派生类(子类)
    				方法
    

    数组

    数组是用来存储相同数据类型的构造类型

    注意:只能存储相同的数据类型 比如我要存三个int 可以 不能三个不同的数据类型

    数据类型[] 数组名
    int[] age;
    
    动态初始化
    
    数据类型[] 数组名 = new 数据类型[数组长度];
    例:int[] intArray = new int[6];【数组元素为默认值】
    数据类型[] 数组名 = new 数据类型[数组长度]{元素1,元素2};
    例: int[] intArray = new int[3]{1,2,3};  
    或例: int[] intArray = new int[]{1,2,3};
    Int[] intArray = new[]{1,2,3};
    
    静态初始化
    
    数据类型[] 数组名 = {元素1,元素2,…,元素n};
    例: int[] myArr = {1,2,3,4,5};
    注意:在这种情况下,不能将数组定义和静态初始化分开
    
    
    展开全文
  • Java之路-day2Java基础梳理一、基本数据类型1.整数类型2....数组的排序和查找1.sort()2.binarySearch()四、枚举1.enum Java基础梳理 一、基本数据类型 1.整数类型 byte 8位 short 16位 int 32位 long

    Java基础梳理

    一、基本数据类型

    1.整数类型

    byte 8位
    short 16位
    int 32位
    long 64位(常量末尾必须后缀L)

    2.浮点类型

    float 32位(常量末尾必须后缀f或者F)
    double 64位(常量末尾可以后缀d或者D可以省略)

    3.字符类型

    char 16位

    4.逻辑类型

    boolean 1位(常量位true、false不能位0、1)

    5.基本数据类型的转换

    int a = (int)32.88f(强制转换)高精度转低精度会有数据缺失
    double a = (double)32.88f(转换)低精度转高精度不会有数据缺失

    二、输入基本数据

    1.Scanner

    java.util.Scanner(jdk自带包)

    Scanner scan = new Scanner(System.in)
    int a = scan.nextInt();
    double b = scan.nextDouble();
    char c = in.next().charAt(0);
    String s = scan.next();
    String s = scan.nextLine();
    

    next()输入必定为有效符,(未出现有效符,自动去掉),有效符录入后出现无效符自动结束(不会输入空格)
    nextLine()全部输入,直至出现Enter符

    三、数组

    1.数组声明和创建

    Java声明不同于C/C++
    数组元素类型 数组名字[][];
    或者
    数组元素类型[] []数组名字;
    Java声明括号内不能指定元素的个数

    Java数组声明过后要分配内存才能使用
    比如:
    声明 int a [];
    创建 a = new int[4];
    同时Java数组允许int型的变量来指代元素个数

    2.数组初始化

    在声明数组时给数组一个初始值
    如:

    int a[] = {1,2,3}; 
    

    等同于

    int a[] = new int[3];
    a[0] = 1;
    a[1] = 2;
    a[2] = 3;
    

    3.数组的复制

    1.arraycopy()

    public static void arraycopy(sourceArray, int index1, copyArray, int index2, int length) 可以将数组 sourceArray 从索引 index1开始的 length 个元素中的数据复制到数组 CopyArray中,即将数sourceArray 中的索引值从 index1到index + length -1 元素中的数据复制到数组copyArray 的某些元素中,copyArray 数组从第index2 数组 的各个元素中的值 元素开始存放这些数据。如果数组 copyArray 不能存放下复制的数据,程序运行将发生异常。

    2.copyOf()

    Arrays类调用方法:
    public static double[ ] copyOf (double[ ] original, int newLength)可以把参数 original 指定的数组中从索引0开始的 newLength 个元素复制到一个新数组中,并返回这个新数组,且该新数组的长度为 newLength.如果 newLength 的值大于 original 的长度,copyO 方法返回的新数组的第 newLength 索引后的元素取默认值
    类似的方法还有:
    public static float[] copyOf(float[] original, int newLength)
    public static int[] copyOf(int[] original, int newLength)
    public static char[] copyOf (char[] original, int newLength) 等。
    例如,对于
    int [] a = {100,200,300,400 };
    int [] b= Arrays.copyOf (a, 5);
    b[0]=100;
    b[1]=200;
    b[2]= 300;
    b[3] = 400;
    b[4]=0;
    即b的长度为5,最后一个 元素 b[4]取默认值。

    3.copyOfRange()

    public static double[ ] copyOfRange(double[ ] original, int from, int to) 方法可以把参数 original 指定的数组中从索引 from 至 to -1 的元素复制到一个新数组中, 并返回这个新数组,即新数组的长度为to-from。如果 to 的值大于数组original 的长度,新数组的第original. length - from 索引开始的元素取默认值。
    类似的方法还有:
    public static float[] copyOfRange(float[] original, int from, int to)
    public static int[] copyOfRange(int[] original, int from, int to)
    public static char[] copyOfRange(char[] original, int from, int to)
    例如:
    int [] a = {100,200,300,400,500,600};
    int [] b= Arrays.copyOf (a, 2,5);
    那么数组b的长度为3,b[0]=300,b[1]=400,b[2]=500

    4.数组的排序和查找

    1.sort()

    public static void sort(double a[])
    a中所有参数按升序排列
    public static void sort(double a[],int start,int end)
    a中索引从start至end-1的元素按升序排列

    2.binarySearch()

    public static int binarySearch(double a[],double number)
    a必须是事先排序好的
    number与a中的一个值相等则返回该值的索引
    number与a中所有的值不等则返回一个负数

    四、枚举

    1.enum

    enum 枚举名
    {常量列表
    }
    如:

    public enum Weekdays{
    星期一,星期二,星期三,星期四,星期五,星期六,星期日
    }
    public void days(){
    Weekdays weekday = Weekdays.星期一;
    }
    
    展开全文
  • 通常情况下定义数组都是顶一个什么类型数组然后下标或者脚标就是从0开始++++ int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 但是用0-N这种整形数字做下标可读性非常不高,如果这个数组里保存的数据比较复杂...

    昨天写代码被人告知还有这种写法,很神奇。通常情况下定义数组都是顶一个什么类型的数组然后下标或者脚标就是从0开始++++

    int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

    但是用0-N这种整形数字做下标可读性非常不高,如果这个数组里保存的数据比较复杂,那么这种硬编码的下标方式非常的危险。所以这里通常都使用枚举变量作为下标来访问数组。如下“`

    static char* language_type_data[] = { 
     "Chinese",
     "German",
     "American"
    };


    这里定义了一个字符指针型数组,用来保存语言类型,如下顶一个了一个枚举类型,用来作为访问数组的脚标。
    typedef enum OS_APP_LANGUAGE_TYPE_E
    {
        OS_APP_LANGUAGE_TYPE_EN = 0,
        OS_APP_LANGUAGE_TYPE_DE = 1,
        OS_APP_LANGUAGE_TYPE_US = 2,
        OS_APP_LANGUAGE_TYPE_UNKNOWN,
    }OS_APP_LANGUAGE_TYPE_E;
    OS_APP_LANGUAGE_TYPE_E os_app_language_type_data;

    这里使用language_type_data[OS_APP_LANGUAGE_TYPE_EN ]来访问数组第一个成员。这样写可读性很高,而且后期可以继续添加数组的成员,枚举的成员,且代码可以用循环判断来写,这样以后增加新成员只需要在枚举和数组上增加变量既可。但这段代码也有隐藏的问题。看似可读性高的代码其实也是硬编码作为脚标,如果在输入数据时候数组和枚举的顺序有一些变化,就会出现bug,且这个bug很难被发现。且这个枚举是作为SDK提供给上层,且你的代码不公开,这样会出现很大问题。

    为了避免这种隐患可以在定义数组时候使用枚举作为数组的下标,这样即使数据输入混乱,但是只要数组定义时候枚举下标定义和数组成员可以对应正确就可以避免这种错误。代码如下:

    static char* language_type_data[] = { 
        [OS_APP_LANGUAGE_TYPE_EN] = "Chinese",
        [OS_APP_LANGUAGE_TYPE_DE] = "German",
        [OS_APP_LANGUAGE_TYPE_US] = "American"
    };

    使用language_type_data[OS_APP_LANGUAGE_TYPE_EN]来访问数组,这样技术数据顺序混乱也不会出现问题。

    转载于:https://www.cnblogs.com/cxh110/p/9316705.html

    展开全文
  • 枚举数组

    2010-06-24 16:43:00
    枚举 定义一个枚举:  public enum TimeOfDay {  Morning,  Afternoon,  Evening } //我们可以将整数转换为枚举类型 int aa=1; Console....
  • c#结构,枚举数组

    2019-07-15 17:14:29
    结构 值类型(存储在栈) ...值类型,默认底层为整数类型int,如果不赋值会有一个隐式的成员编号012… 单一的成员类型,没有修饰符 底层类型可以更改(enum 名 :底层类型) 一些其他枚举方法 位...
  • c++数据类型--枚举数组

    千次阅读 2009-02-17 12:34:00
    枚举 enum open_modes{read=1, write, append}; void open(const char* FileName, open_modes modes) { } int main(int argc, char* argv[]) { open("", write); return 0; } 另外如果想显示open_modes的具体意思,...
  • /*************** 容器类型的快速枚举 *********************/     NSArray *arr = [NSArray arrayWithObjects:@"1", @"2", @"3", nil];    // 从容器中取出一个字符串对象str   for ...
  • Windows Phone 7手机开发、.Net培训、期待与您...在声明一个枚举类型时,需要指定该枚举可以包含的一组可以接受的实例值。 static void Main() { int userAge=(int)user.Ager; Console.WriteLine(userAge); } public e
  • 枚举:也拥有属性,方法,协议,拓展,和结构体一样是值类型枚举还拥有关联值等特征 结构体和类最大的区别就是struct是值类型,class是引用类型。 所以他们给变量赋值时,class是增加一个引用,struct是将对象...
  • C#总结【常量-枚举-数组

    千次阅读 热门讨论 2016-11-27 11:52:16
     当我们定义多个相同类型的变量时,我们就要定义数组了,这样减轻了定义同类型变量的痛苦。 定义数组的4中方式。 //数组的声明方式: //第一种 int[] number = new int[] { 1, 2, 3 };//表示数组中只有三个数 /...
  • 枚举类型数组下标

    千次阅读 2016-10-11 15:22:58
    在开发中,经常会用到一些数组,它里面存放一定数量(已知,不是太多)的特定元素。在使用数字表示的数组下标访问数组中元素的时候,根本不知道该元素是否是需要的那个元素,而且使代码可读性降低,甚至还会出现下标...
  • 3.2.3 枚举数组

    2008-07-20 11:11:00
    变量的类型除了单值类型之外还有两个比较有用的复合(多值)类型枚举。很多时候我们希望从一个集合中提取固定的值,而又不是仅仅是true或者false这么简单。很么我们可以使用枚举来描述这个集合: enum...
  • 结构,枚举数组的小结 首先是结构: 结构的声明struct structName{} 对于结构有一些注意点: 这里对结构体和 类做一个比较: 结构体是值类型,而类必须是引用类型,之前学值类型和引用类型的时候有这样一...
  • 在声明一个枚举类型时,需要指定该枚举可以包含的一组可以接受的实例值。 public enum user { Age=18, //年龄 gread=2, //年级 fatherAge=65 //父亲的年龄 } 再看一个例子: static void Main() ...
  • 通过使方法调用成为非虚拟方法并通过不分配在堆上来减少GC收集,使用值类型来提高性能。 增加了对Span<> , ReadOnlySpan<> , Memory<>和ReadOnlyMemory<> 。 注释。 单个NuGet软件包同时支持同步...
  • 一、结构体(struct) 1.定义:结构体把一组来自不同类型的数据组合在一起构成复合类型,每个数据都是结构体的成员。 2.定义语法:struct 结构体类型名{ 成员声明; }; ...二、枚举 1.意义:...
  • 枚举类型作为数组下标

    千次阅读 2013-07-16 11:49:00
    在开发中,经常会用到一些数组,它里面存放一定数量(已知,不是太多)的特定元素。在使用数字表示的数组下标访问数组中元素的时候,根本不知道该元素是否是需要的那个元素,而且使代码可读性降低,甚至还会出现下标...
  • 1.VS环境下调试: F11:单步调试,逐语句调试 F10:逐过程 断点调试 左下角监视 2.字符转换 int result = 10; int.TryPrase(“123”,out result);转换失败不会抛异常 尝试着将一个字符串转换成int类型,...int类型...
  • 基本数据类型自动装箱和拆箱。枚举。反射。数组反射的应用。ArrayList集合和HashSet集合。 JavaBean。 */ /*基础加强和JDK1.5新特性. 基础很重要,就业就看基础掌握的好不好. 但不能天天学基础,只有通过高级的...
  • 类型脚本枚举很高级,会自动生成一个键和值可逆的数据对象,但它本身不是一个可遍历的数据,我们在使用时有很多限制,于是我们将枚举重新包装成一个键值对的数组,可循环,数据且不重复。 安装 $ npm install enum-...
  • 在写数组的操作之前,首先来介绍一下快速枚举快速枚举:for( in );1.能快速的遍历数组等容器对象 2.都是对容器里的对象的遍历 3.( )内的第一个是数组内元素的类型,第二个是容器注意:为了增加代码的阅读性,避免不必要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,229
精华内容 2,091
关键字:

枚举类型数组