问题引出 这视乎是个完全不必要进行讨论的话题,因为linq(这里具体是linq to objects)本来就是针对集合类型的,数组类型作为集合类型的一种当然可以使用了.不过我还是想写一下,这个问题源于qq群里一位朋友的提问:.net的数组类型都隐式继承了Array类,该类是一个抽象类,并且实现了IEnumerable.ICollection.IList接口.但linq的方法都是针对实现了IEnumerable<T>泛型接口的,Array类并没有实现这些泛型接口,为什么可以使用这些方法呢? li…
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; import org.apache.poi.ss.formula.functions.T; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.lang.reflect.*; import java.util.HashMap; import…
总结自<高程三>第四章  理解Javascript_12_执行模型浅析   JS的执行环境与作用域  javascript高级程序第三版学习笔记[执行环境.作用域] 在javascript中,可执行的JavaScript代码分三种类型: 1. Global Code,即全局的.不在任何函数里面的代码,例如:一个js文件.嵌入在HTML页面中的js代码等. 2. Eval Code,即使用eval()函数动态执行的JS代码. 3. Function Code,即用户自定义函数中的函数体JS代码.…
私有变量 首先来说 OC 中没有绝对的私有变量,这么说基于两点原因: 1可修改:   通过KVC  键值编码 来修改私有成员变量的值 2可读取 :  通过底层runtime 获取实例变量Ivar 对应私有值 但是private的存在意义也很明确 不希望被当前类 以外的外界得知. 声明方式 @private :   作用只能是在自己类 @protected :通常 我们都对变量不做特别约束,只是主观调控其使用 那么就是默认 @protected, 作用范围是自身类 和 继承自身的子类 @publi…
一:函数表达式和函数声明 1:函数声明和函数表达式的区别 ①函数声明不需要分号结尾 ②函数声明有函数提升的特点 ③函数声明后面不能跟圆括号直接调用,因为javascript将function关键字当作一个函数声明的开始,而函数声明后面不能跟圆括号! 2:匿名函数的作用 ①作为值使用 function sum(num1,num2){ return function(num1,num2){ return num1+num2; } } 3:闭包 概念:是指有权访问另一个函数作用域中的变量的函数.(通过…
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2017/11/08 8:46 # @Author : lijunjiang # @File : class3.py """ 类的私有变量和私有方法 在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性 特殊变量命名 1. _xx 以单下划线开头的表示的是protected类型的变量.即保护类型只能允许其本身与子类进行访问.若内部变量标示,如: 当使用…
保护变量.私有变量.私有方法介绍: _xxx: 单下划线开头叫保护变量,意思是只有类对象和子类对象自己能访问到这些变量,此变量不能通过from XXX import xxx 导入: __xxx : 双下划线开头叫私有成员,只允许类本身访问,连子类对象也不能访问到这个数据.__xxx__ : 前后均有一个“双下划线”,系统定义名字, 代表python里特殊方法专用的标识,如 __init__()代表类的构造函数. 代码示例: class Pub(object): #定义类的正常变量.保护变量.私有…
默认情况下,Python中的成员函数和成员变量都是公开的(public),在python中没有类似public,private等关键词来修饰成员函数和成员变量.在python中定义私有变量只需要在变量名或函数名前加上 ”__“两个下划线,那么这个函数或变量就是私有的了.在内部,python使用一种 name mangling 技术,将 __membername替换成 _classname__membername,也就是说,类的内部定义中,所有以双下划线开始的名字都被"翻译"成前面加上单…
js静态私有变量(将方法变成原型模式,被所有实例共享,而方法操作变量,故变量是静态) 一.总结 1.js函数中的private和public:js函数中的私有变量 var 变量名,公有变量 this.变量名 2.js静态私有变量:将方法变成原型模式,被所有实例共享,而方法操作变量,故变量是静态 3.js静态私有变量的作用:js中的static:解决变量静态的问题,就是java中static的作用 4.js中的get和set方法:也就是js中一般对象的定义方法 function People(_n…
C#.net 提供的4个关键字,in,out,ref,paras开发中会经常用到,那么它们如何使用呢? 又有什么区别? 1 in in只用在委托和接口中: 例子: 1 2 3 4 5 6 7 8 9 10 11 12        //测试模型        class Model         {                    public int a { get; set; }                    public Model(int a)             {…
具名参数 和 可选参数 是 C# framework 4.0 出来的新特性. 一. 常规方法定义及调用 public void Demo1(string x, int y) { //do something... } public void Main() { //调用 Demo1("similar", 22); } 调用时,参数顺序(类型)必须与声明一致,且不可省略. 二. 可选参数的声明及调用 可选参数分为两种情况: 1. 部分参数可选:   2. 全部参数都是可选 //部分可选(x…
C#新功能--命名参数与可选参数 可能是篇幅太短了,又被打入冷宫了.先重发一篇加上可选参数.本来不想加这个呢,因为可选参数可能大家用的会多点.其实这 两个在VB中早就有了,在C#中,只有在.net4以后才能使用.看到这个比较兴奋,我想大家也有好多人不知道,所以就强烈的想与大家 分享一下. 一.命名参数 命名参数会潜在的改变编写代码的方式.这个新功能能使代码更容易阅读和理解. 例如,看一下System.IO名称空间中的File.Copy()方法,它一般构建为 File.Copy(@"C:\myte…
方法的参数有六种,分别是值参数.引用参数.输出参数.参数数组.命名参数.可选参数. 值参数 值参数是方法的默认类型,通过复制实参的值到形参的方式把数据传递到方法,方法被调用时,系统作两步操作: 在栈中为形参分配空间. 复制实参到形参. 1)在方法被调用前,用作实参的变量a1的引用已经在栈里了. 2)随着方法的开始,系统在栈中为形参分配空间,并从实参复制值. 3)因为a1是引用类型,所以引用被复制,结果实参和形参都引用堆中的同一个对象. 4)因为a2是值类型,所以值被复制,产生了一个独立的数据.…
有个字符串$sd1#111$svda123!!!221&eSSDSDG,包含特殊字符.数字和字母,输出最长的子字符串和他的长度 例如上面的字符串同时包含数字和字母的字符串是svda123,长度是7代码实现如下:方法1: str_scr = '$sd1#111$svda123!!!221&eSSDSDG^svda121^svda124^' # 下面这种思路是这样的: # 遍历字符串的元素,如果元素不是字母或者数字,则添加‘.’进list, # 如果该元素是字母或者数字,则把该元素添加进lis…
有关 C# 命名参数和可选参数 #1.命名参数: 所谓“命名参数 ( Named Arguments )”,是指方法中定义了一些“有名字”的参数. 给方法参数命名之后,在调用方法时就可以直接根据参数名字传送实参,不再像原来一样需要依据方法定义时的参数顺序传送. 假设有一下的方法: static void SomeMethod ( int x1, int x2, int y1, int y2 ) {  ..........  } 在 .net 4.0 中可以这样调用方法: SomeMethod (…
必须包含至少一位数字和一位字母,脚本方法如下: function CheckPassWord(password) {//密码必须包含数字和字母 var str = password; if (str == null || str.length < 8) { return false; } var reg = new RegExp(/^(?![^a-zA-Z]+$)(?!\D+$)/); if (reg.test(str)) return true; } 必须包含数字加字母 不能包含特殊符号等,脚…
OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法.利用runtime机制让我们可以在程序运行时动态修改类.对象中的所有属性.方法,就算是私有方法以及私有属性都是可以动态修改的.本文旨在对runtime的部分特性小试牛刀,更多更全的方法可以参考系统API文件<objc/runtime.h>. 先看一个非常平常的Father类: #import <Foundation/Foundation.h>@interface Father : NSObject@…
1.在Python中要想定义的方法或者变量只在类内部使用不被外部调用,可以在方法和变量前面加 两个 下划线 #-*- coding:utf-8 -*- class A(object): name = "sashuangyibing" __mingzi = "bingyishuangsa" # 这个是私有变量,只能在类A之内可以使用,超过类A之外是无法引用到 def fun1(self): print "This is common method"…
本篇讲解LINQ查询的三种形式: 查询对象 自定义查询对象某个属性 查询匿名类型结果 [1.查询结果返回集合元素] 在LINQ查询中,select子句和from子句都是必备子句.LINQ查询表达式必须以select或group子句结束.select子句指定在执行查询时产生结果的数据集中元素的类型,它的格式如下: select element 其中,select是关键字,element参数则指定查询结果中元素的类型及初始化方式. 在进一步介绍select子句之前,首先简单介绍一下本章例子中要用到的…
引言 在对Bitmap图片操作的时候,有时需要用到获取或设置像素颜色方法:GetPixel 和 SetPixel, 如果直接对这两个方法进行操作的话速度很慢,这里我们可以通过把数据提取出来操作,然后操作完在复制回去可以加快访问速度 两种方法 其实对Bitmap的访问还有两种方式,一种是内存法,一种是指针法 1.内存法 这里定义一个类LockBitmap,通过把Bitmap数据拷贝出来,在内存上直接操作,操作完成后在拷贝到Bitmap中 public class LockBitmap { Bitm…
在对Bitmap图片操作的时候,有时需要用到获取或设置像素颜色方法:GetPixel 和 SetPixel, 如果直接对这两个方法进行操作的话速度很慢,这里我们可以通过把数据提取出来操作,然后操作完在复制回去可以加快访问速度 其实对Bitmap的访问还有两种方式,一种是内存法,一种是指针法 1.内存法 这里定义一个类LockBitmap,通过把Bitmap数据拷贝出来,在内存上直接操作,操作完成后在拷贝到Bitmap中 public class LockBitmap { Bitmap sourc…
源地址:https://www.cnblogs.com/similar/p/5006705.html 另:可选参数的一个陷阱 参考:https://www.cnblogs.com/still-windows7/p/kexuancanshuxianjing.html…
简单的生成随机字符串: /* * 生成随机字符串 * * $length 字符串长度 */ function random_str($length) { // 密码字符集,可任意添加你需要的字符 $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $str = ''; for($i = 0; $i < $length; $i++) { // 这里提供两种字符获取方式 // 第一种是使用 substr…
以下为本次实践代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace ConsoleTest { class Program { static void Main(string[] arg…
Private Variable and Private Method Python 不象 Java 那样, 通过 private 关键字创建私有属性, python 通过更简洁的实现了'私有属性', 从而避免了子类意外覆盖私有属性. 举个例子来说, 现在编写一下儿名字叫 Robot 的类,并实现了一个名字为 fighting 的属性. 接着又人编写了一个叫 Camaro 的类, 并继承了 Robot 类, 并在其中构造了 fighting 的属性, 这个时候 Robot 的 fighting…
在类的实现即.m文件中也可以声明成员变量,但是因为在其他文件中通常都只是包含头文件而不会包含实现文件,所以在.m文件中声明的成员变量是@private得.在 .m中定义的成员变量不能和它的头文件.h中的成员变量同名,在这期间使用@public等关键字也是无效的 上面一堆废话~~~ 简单说就是.m文件中的成员只能自己使用,外面引用的都不可以用 方法也是一样的,没有在.h文件中声明,只在.m文件中实现 子类是无法继承的 如果想访问,在当前类中使用self访问…
原文发布时间为:2011-04-25 -- 来源于本人的百度文章 [由搬家工具导入] Named and Optional Arguments class NamedExample{staticvoid Main(string[] args) {// The method can be called in the normal way, by using positional arguments. Console.WriteLine(CalculateBMI(123, 64));// Named…
1. foreach C#编译器会把foreach语句转换为IEnumerable接口的方法和属性. foreach (Person p in persons) { Console.WriteLine(p); } foreach语句会解析为下面的代码段. 调用GetEnumerator()方法,获得数组的一个枚举 在while循环中,只要MoveNext()返回true,就一直循环下去 用Current属性访问数组中的元素 IEnumerator enumerator = persons. Ge…
1 var a = [1,2,3]; 2 a.forEach(function(value,index,arr){ 3 arr[index] = value + index; 4 }) 5 console.log(a); >>[1, 3, 5] // 第一个参数表示值,第二个参数表示索引,第三个参数表示数组本身.2,3参数可以省略. 1 var a = [1,2,3]; 2 a.forEach(function(value,index,arr){ 3 a[index] = value + in…