1.mono语言
2."CPL"缩写在英语中代表什么?
3.你知道ApacheCommon包中isNumeric方法是公共共享坑吗?
4.如在公用模块中申明一个commondialog控件?
5.sources/css/common
mono语言
公共语言基础(Common Language Infrastructure, CLI),即公共语言运行时(Common Language Runtime),源码源码已被开源项目Mono成功实现。平台这个运行时的公共共享核心功能是执行编译后的.NET应用程序。它遵循的源码源码是ECMA定义的标准化规范ECMA-,对于.NET程序的平台2015面包网源码运行,需要通过特定的公共共享参数来调用这个运行时环境。 在ECMA-的源码源码第六章中,详细阐述了公共语言规范(Common Language Specification,平台 CLS),它界定了公共语言基础所使用的公共共享接口,例如枚举类型隐含表示类型的源码源码协定。在Mono的平台编译器阶段,它负责将源代码转换为符合公共语言规范的公共共享中间代码,即公共中间语言(Common Intermediate Language,源码源码 CIL)。这个CIL代码是平台Mono运行时能够理解和执行的关键部分。 在早期的ECMA标准中,还定义了一个基于公共语言规范的macdz源码应用程序框架,为.NET程序的开发提供了基础支持。Mono不仅实现了这个框架,还将其与CIL代码无缝集成,共同构建了一个完整的.NET应用程序运行环境。扩展资料
原意指一个声音通道,用一个传声器拾取声音,用一个扬声器进行放音的过程,简称单声道。森林源码同时MONO也是乐队的名称,截止目前英国和日本都有过这样一个乐队组合,另外他也是指由Novell公司(由Ximian发起,并由Miguel de lcaza领导的,一个致力于开创。NET在Linux上使用的开源工程。"CPL"缩写在英语中代表什么?
CPL,即Common Public License的wox源码缩写,中文直译为“公共许可证”。这个英文缩写词在英语世界中拥有的流行度,属于Miscellaneous类别,主要用于Unclassified领域。它代表的是一个开放源代码模型下的许可协议,允许全球范围内免费使用且无需支付版权费用。
具体来说,CPL项目遵循开放源码模式,easyboot源码这意味着任何用户都可以获取并根据需要修改源代码,而无需额外的授权费用。例如,CDT(Eclipse SDK平台的插件)就是一个使用CPL许可的开源项目,完全由Java编程语言开发,为开发者提供了丰富的功能和灵活性。
总的来说,CPL是开源社区中常见的许可协议,它促进了知识共享和技术创新。这个缩写词在技术文档、软件开发和开源项目交流中被广泛使用,为用户提供了明确的使用规则和权益保障。请记住,CPL的内容主要用于学习和交流,版权归属原作者,使用时需遵守相关条款。
你知道ApacheCommon包中isNumeric方法是坑吗?
使用的Apache-Common包的版本是commons-lang-2.6.jar
本文就来分享一个这个坑的情况,以免其它tx也掉坑中
费话不多说,来看代码: package chapter4; import org.apache.commons.lang.StringUtils; /** * Created by MyWorld on /3/. */ public class StringUtilsIsNumericChecker { public static void main(String[] args) { System.out.println(StringUtils.isNumeric("1")); System.out.println(StringUtils.isNumeric("-1")); } }
围观的tx,认为上面api的输出结果会是什么呢?两个true? 好吧,执行一行看看结果: true false
什么情况,-1不是数字吗? 为什么是false呢 来分析下源码: public static boolean isNumeric(String str) { if (str == null) { return false; } int sz = str.length(); for (int i = 0; i sz; i++) { if (Character.isDigit(str.charAt(i)) == false) { return false; } } return true; }
源码中判断是否数字的依据是JDK的API: java.lang.Character.isDigit(str.charAt(i)) 看看个API的源码: public static boolean isDigit(char ch) { return isDigit((int)ch); }
看看isDigit(int codePoint)的源码: public static boolean isDigit(int codePoint) { boolean bDigit = false; if (codePoint = MIN_CODE_POINT codePoint = FAST_PATH_MAX) { bDigit = CharacterDataLatin1.isDigit(codePoint); } else { int plane = getPlane(codePoint); switch(plane) { case(0): bDigit = CharacterData.isDigit(codePoint); break; case(1): bDigit = CharacterData.isDigit(codePoint); break; case(2): bDigit = CharacterData.isDigit(codePoint); break; case(3): // Undefined case(4): // Undefined case(5): // Undefined case(6): // Undefined case(7): // Undefined case(8): // Undefined case(9): // Undefined case(): // Undefined case(): // Undefined case(): // Undefined case(): // Undefined bDigit = CharacterDataUndefined.isDigit(codePoint); break; case(): bDigit = CharacterData0E.isDigit(codePoint); break; case(): // Private Use case(): // Private Use bDigit = CharacterDataPrivateUse.isDigit(codePoint); break; default: // the argument's plane is invalid, and thus is an invalid codepoint // bDigit remains false; break; } } return bDigit; }
下面还有更深的调用,貌似还涉及到ASCII码了。 水太深,就不继续看了。 有一点是肯定的,这个API不是通过类似Regex expression的方式来判断是数字,而通过每个字符的ASCII的值类确定的 回到API的isNumeric(String str), 看看Doc是怎么说的: /** * pChecks if the String contains only unicode digits. * A decimal point is not a unicode digit and returns false./p * * pcodenull/code will return codefalse/code. * An empty String (length()=0) will return codetrue/code./p * * pre * StringUtils.isNumeric(null) = false * StringUtils.isNumeric("") = true * StringUtils.isNumeric(" ") = false * StringUtils.isNumeric("") = true * StringUtils.isNumeric(" 3") = false * StringUtils.isNumeric("ab2c") = false * StringUtils.isNumeric("-3") = false * StringUtils.isNumeric(".3") = false * /pre * * @param str the String to check, may be null * @return codetrue/code if only contains digits, and is non-null */
看完上面的Doc,感觉水好深。 这个API的方法名直接命名为isInt不就完了。方法名很容易误导人 这也是给开发的tx敲了一个警钟, api使用之前一定要确认清楚,至少看看Doc文档吧
如在公用模块中申明一个commondialog控件?
需要用代码动态创建控件,而不是从工具栏拖一个出来.
动态创建控件这里有源代码,极其简单。
第一种方法是用控件数组,需要你先拖放一个Label1(0)的标签控件。
这里是源代码:/question/.html
sources/css/common
ä¸è¬æ¥è¯´, è¿ä¸ªæ¶é¡µé¢ä¸çcss ä½ç½®, commonå³ä¸ºå ¬å ±ç»ä»¶ä¹ç±»ç.
æºç /css/å ¬å ±