枚举类型

c# 枚举(Enum)

a 夏天 提交于 2019-11-30 20:53:19
枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。 C# 枚举是值类型。换句话说,枚举包含自己的值,且不能继承或传递继承。 声明 enum 变量 声明枚举的一般语法: enum <enum_name> { enumeration list }; 其中, enum_name 指定枚举的类型名称。 enumeration list 是一个用逗号分隔的标识符列表。 枚举列表中的每个符号代表一个整数值,一个比它前面的符号大的整数值。默认情况下,第一个枚举符号的值是 0.例如: enum Days { Sun, Mon, tue, Wed, thu, Fri, Sat }; 实例 下面的实例演示了枚举变量的用法: 实例 using System; public class EnumTest { enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; static void Main() { int x = (int)Day.Sun; int y = (int)Day.Fri; Console.WriteLine("Sun = {0}", x); Console.WriteLine("Fri = {0}", y); } } 当上面的代码被编译和执行时,它会产生下列结果: Sun = 0 Fri = 5 一个枚举的关联值或隐式地

装箱 拆箱 枚举 注解 多态

◇◆丶佛笑我妖孽 提交于 2019-11-30 19:48:00
装箱 拆箱的作用就是为了引用类型和基本数据类型的转化,装箱就是把基本数据类型转换成引用类型。拆箱则是将引用数据类型转换成基本数据类型 装箱 :就是简而言之包装类型,将基本数据类型转换成引用数据类型。 拆箱: 就是简而言之将引用类型转换成基本数据类型。 枚举:枚举主要就是声明一些列的常量,比如星期一,星期二,星期三等等,,,这些是常量不变的,那么做case的时候就可以选择这些枚举的变量名,从而实现代码精简 注解:注解的作用就是将一系列的类封装之后采用‘@’符号进行表示实现这个注解可以在对用的类,变量进行一系列的操作。 多态:多态讲解的是向上转型或者向下转型,最常见就是重写重载的多态,重载是在编译的时候体现多态,而重写是在运行时候的时候体现多态。 语文不好,莫喷。。。。。。。。 来源: https://www.cnblogs.com/baibin-520/p/11638023.html

2019安全渗透类工具合集

流过昼夜 提交于 2019-11-30 17:08:44
子域名爆破枚举或接管 https://github.com/lijiejie/subDomainsBrute - Lijiejie开发的一款使用广泛的子域名爆破枚举工具 评分 : 🌟🌟🌟🌟🌟 | 编程语言 : Python 2.x | 仍在维护 : ✖️ https://github.com/ring04h/wydomain - 猪猪侠开发的一款域名收集全面、精准的子域名枚举工具 评分 : 🌟🌟🌟🌟🌟 | 编程语言 : Python 2.x | 仍在维护 : ✖️ https://github.com/le4f/dnsmaper - 子域名枚举爆破工具以及地图位置标记 评分 : 🌟🌟 | 编程语言 : Python 2.x | 仍在维护 : ✖️ https://github.com/0xbug/orangescan - 提供web界面的在线子域名信息收集工具 评分 : 🌟🌟🌟 | 编程语言 : Python 2.x | 仍在维护 : ✖️ https://github.com/TheRook/subbrute - 高效精准的子域名爆破工具,同时也是扫描器中最常用的子域名API库 评分 : 🌟🌟🌟🌟 | 编程语言 : Python 2.x | 仍在维护 : ✖️ https://github.com/We5ter/GSDF - 基于谷歌SSL透明证书的子域名查询脚本 评分 :

js对象方法大全

蓝咒 提交于 2019-11-30 15:44:02
JavaScript中 Object 构造函数的方法 Object 构造函数的方法 节 Object.assign() 通过复制一个或多个对象来创建一个新的对象。 Object.create() 使用指定的原型对象和属性创建一个新对象。 Object.defineProperty() 给对象添加一个属性并指定该属性的配置。 Object.defineProperties() 给对象添加多个属性并分别指定它们的配置。 Object.entries() 返回给定对象自身可枚举属性的 [key, value] 数组。 Object.freeze() 冻结对象:其他代码不能删除或更改任何属性。 Object.is() 比较两个值是否相同。所有 NaN 值都相等(这与==和===不同)。 Object.isExtensible() 判断对象是否可扩展。 Object.isFrozen() 判断对象是否已经冻结。 Object.isSealed() 判断对象是否已经密封。 Object.keys() 返回一个包含所有给定对象 自身 可枚举属性名称的数组。 Object.values() 返回给定对象自身可枚举值的数组。 1、 Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 const target = { a: 1, b: 2

python之迭代器 生成器 枚举 常用内置函数 递归

蓝咒 提交于 2019-11-30 15:11:36
迭代器 迭代器对象:有__next__()方法的对象是迭代器对象,迭代器对象依赖__next__()方法进行依次取值 with open('text.txt','rb',) as f: res = f.__next__() # 第一行内容 print(res) res = f.__next__() # 第二行内容 print(res) 生成器 在 Python 中,使用了 yield 的函数被称为生成器(generator)。 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。 在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。 调用一个生成器函数,返回的是一个迭代器对象。 以下实例使用 yield 实现斐波那契数列: import sys def fibonacci(n): # 生成器函数 - 斐波那契 a, b, counter = 0, 1, 0 while True: if (counter > n): return yield a a, b = b, a + b counter += 1 f = fibonacci(10) # f 是一个迭代器,由生成器返回生成 while True: try:

获取Object对象的方法,Reflect.ownKeys, Object.getOwnPropertyNames,Object.getOwnPropertySymbols,Object.keys,for in

别来无恙 提交于 2019-11-30 12:22:15
let triangle={ a:1, b:2, c:3 } function coloTriangle(){ this.color='red'; } coloTriangle.prototype=triangle; let color=new coloTriangle(); Object.defineProperty(color,'auto',{ value:'auto' }) let symbolProp=Symbol('symbol'); color[symbolProp]='symbol' /** * Ref lect.ownK eys :Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols) * 没有来自继承的,都是own * 不管枚举不枚举都能遍历 * 还可以拿到symbol类型属性 */ Reflect.ownKeys(color) //["color","auto",Symbol(symbol)] /** * Object.getOwnPropertyNames * 没有来自继承,都是own * 不管枚举不枚举都能遍历 * 拿不到symbol类型属性 */ Object.getOwnPropertyNames(color);//["color","auto"] /** *

JVM 对象查询语言(OQL)[转载]

核能气质少年 提交于 2019-11-30 09:55:56
最近生产环境出现一个很奇怪的问题,测试环境无法重现,本地直连生产无法重现。于是用上 jmap + Java VisualVM 的 OQL (Object Query Language) 分析问题。 关于OGL的文章不多,特此转载,原文出处: https://blog.csdn.net/pange1991/article/details/82023771 本文主要翻译自JDK 1.8的JVM监控工具jhat中关于OQL的英文帮助说明。 可以在jhat 和 jvisualvm 中进行实践。 OQL(对象查询语言) OQL是用于查询Java堆的类SQL查询语言。OQL允许过滤/选择从Java堆中获取的信息。虽然HAT已经支持预定义的查询,例如“显示类X的所有实例”,但OQL增加了更多的灵活性。OQL基于JavaScript表达式语言。 OQL查询的形式 select <JavaScript expression to select> [ from [instanceof] <class name> <identifier> [ where <JavaScript boolean expression to filter> ] ] 解释: (1)class name是java类的完全限定名,如:java.lang.String, java.util.ArrayList, [C是char数组

枚举

十年热恋 提交于 2019-11-30 06:31:23
枚举的注意事项 1 定义枚举类要用关键字enum 2 所有枚举类都是Enum的子类 3 枚举类的第一行上必须是枚举项, 最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西, 这个分号就不能省略。 建议不要省略 4 枚举类可以有构造器, 但必须是private, 它默认的也是private 5 枚举类也可以有抽象方法,但是枚举项必须重写该方法 6 枚举在switch语句中的使用 public enum Direction { FRONT,BEHIND,LEFT,RIGHT; } public enum Direction2 { FRONT("前"), BEHIND("后"), LEFT("左"), RIGHT("右"); private String name; Direction2(String name) { this.name = name; } public String getName() { return name; } } public enum Direction3 { FRONT("前") { @Override public void show() { System.out.println("前"); } }, BEHIND("后") { @Override public void show() { System.out.println("后"); }

java 枚举(enum) 全面解读

放肆的年华 提交于 2019-11-30 06:19:53
简介 枚举是Java1.5引入的新特性,通过关键字enum来定义枚举类。枚举类是一种特殊类,它和普通类一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口,但枚举类不能继承其他类. 原理分析 枚举类型使用的最常用类型就是枚举常量.下面通过一个简单的Demo来说明枚举的原理. // 定义 public enum Color { BLACK, WHITE } // 使用 public class Main { public static void main(String[] args) { System.out.println(Color.BLACK); } } // 结果 // BLACK 这样只是能够知道枚举简单的使用方法,不能看出枚举的特点和枚举的具体实现. 下面我们通过 jad 工具来反编译 Color 类, 通过 jad -sjava Color.class 反编译出一份java文件. // final修饰,无法被继承 public final class Color extends Enum { // 为了避免 返回的数组修改,而引起内部values值的改变,返回的是原数组的副本 public static Color[] values() { return (Color[]) $VALUES.clone(); } // 按名字获取枚举实例 public

C++ 枚举类型详解

时间秒杀一切 提交于 2019-11-30 04:43:13
枚举类型的定义: 枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。 定义格式:枚举类型的定义格式为: enum <类型名> {<枚举常量表>}; 格式说明: 关键字enum——指明其后的标识符是一个枚举类型的名字。 枚举常量表——由枚举常量构成。"枚举常量"或称"枚举成员",是以标识符形式表示的整型量,表示枚举类型的取值。枚举常量表列出枚举类型的所有取值,各枚举常量之间以","间隔,且必须各不相同。取值类型与条件表达式相同。 应用举例: enum color_set1 {RED, BLUE, WHITE, BLACK}; // 定义枚举类型color_set1 enum week {Sun, Mon, Tue, Wed, Thu, Fri, Sat}; // 定义枚举类型week 重要提示: 枚举常量代表该枚举类型的变量可能取的值,编译系统为每个枚举常量指定一个整数值,默认状态下,这个整数就是所列举元素的序号,序号从0开始。 可以在定义枚举类型时为部分或全部枚举常量指定整数值,在指定值之前的枚举常量仍按默认方式取值,而指定值之后的枚举常量按依次加1的原则取值。 各枚举常量的值可以重复。例如: enum fruit_set {apple, orange, banana=1, peach, grape} //枚举常量apple=0