文档章节

曾经被忽视的两个小功能

涂孟超
 涂孟超
发布于 2014/09/26 15:32
字数 230
阅读 8
收藏 0

曾经想过, Delphi 要能这样给数组赋值就好了: arr := [...];

VarArrayOf 可不是新东西, 不过之前还没习惯用它.

var
  bs: TBytes;
//  bs: TArray&ltByte>
begin
//  SetLength(bs, 3);
  bs := VarArrayOf([11, 22, 33]);
  ShowMessage(IntToStr(bs[2])); //33
end;

var
  strArr: TArray&ltstring>
begin
//  SetLength(strArr, 3);
  strArr := VarArrayOf([
    'AAA',
    'BBB',
    'CCC'
  ]);
  ShowMessage(strArr[2]); //CCC
end;


这只用于动态数组, 甚至支持泛型写法, 但不支持静态数组; 但当做函数参数时, 只支持传统动态数组的写法.

function GetSum(aArr: array of Integer): Integer;
var
  i: Integer;
begin
  Result := 0;
  for i in aArr do Inc(Result, i);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  n: Integer;
begin
  n := GetSum([1, 2, 3]);
  ShowMessage(IntToStr(n));  //6

  n := GetSum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
  ShowMessage(IntToStr(n)); //55
end;


还有一个 GDI+ 中非常好的功能之前被忽视了, 现在才知道它的好:
这就是 GDI+ 中 Bitmap 的 Pixels[] 属性, 和 Canvas.Pixels[] 不同, 它快多了!

本文转载自:http://www.cnblogs.com/del/archive/2013/06/13/3134761.html

涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
iOS开发使用TouchID验证登录踩过的一些坑(同时更新FaceID使用方法)

FaceID iPhoneX 提供的刷脸功能与之前的设备的TouchID类似,都是属于生物验证的范畴。苹果爸爸也是为了照顾开发者,这两个功能对应的API基本相同,对于之前支持TouchID的APP其实可以在不做任...

坤宇
03/04
0
0
测试用例设计方法—错误推测法

错误推测法 what? 推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例。 why? ... how? 基本思想:列举出程序中所有可能有错误和容易发生错误的特殊情况,根据它们选择测试用例。...

iBazinga
2016/10/07
320
0
OPhone2.0是梦想还是杯具?

【老杨注,本文本是日前老杨在移动Labs上的一篇稿件。今日祝贺51CTO移动开发频道http://developer.51cto.com/mobile/上线,转发至此。略有编辑】 最近被iPad、iPhone 4和Android 2.2影响,对...

yangsir
2018/06/26
0
0
在 .NET Core 中使用 DiagnosticSource 记录跟踪信息(1)

Diagnostics 一直是一个被大多数开发者忽视的东西,我猜测很多同学看到这里的时候可能还是第一次听说 Diagnostics 这个东西,为什么会被忽视呢? 我们等会说,我们先来看一下 Diagnostics 是...

胶水语言
2018/05/12
0
0
2.6.21开始取消了超线程的dependent_sleeper函数

在2.6.21以前的内核中有一个函数dependent_sleeper,该函数的意义就是,在schedule中,如果当前cpu的运行队列的进程数量不为0,那么还是不能简单的从这个队列中选择一个最高优先级的进程,而...

晨曦之光
2012/04/10
62
0

没有更多内容

加载失败,请刷新页面

加载更多

面试官,Java8 JVM内存结构变了,永久代到元空间

在文章《JVM之内存结构详解》中我们描述了Java7以前的JVM内存结构,但在Java8和以后版本中JVM的内存结构慢慢发生了变化。作为面试官如果你还不知道,那么面试过程中是不是有些露怯?作为面试...

程序新视界
28分钟前
17
0
读书笔记:深入理解ES6 (八)

第八章 迭代器(Iterator)与生成器(Generator) 第1节 循环语句的问题   在循环、多重循环中,通过变量来跟踪数组索引的行为容易导致程序出错。迭代器的出现旨在消除这种复杂性,并减少循...

张森ZS
29分钟前
13
0
Elasticsearch 实战(一) - 简介

官腔 Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统 基本等于没说,咱们慢慢看 1 概述 百度:我们比如说想找寻任何的信息的时候,就会上百度去搜索一下,比如说找一部自己喜...

JavaEdge
33分钟前
13
0
【jQuery基础学习】11 jQuery性能简单优化

本文转载于:专业的前端网站➦【jQuery基础学习】11 jQuery性能简单优化 关于性能优化 合适的选择器 $("#id")会直接调用底层方法,所以这是最快的。如果这样不能直接找到,也可以用find方法继...

前端老手
42分钟前
12
0
重磅发布 | 全球首个云原生应用标准定义与架构模型 OAM 正式开源

导读:2019 年 10 月 17 日,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应用模型 Open Application Model (OAM...

阿里云官方博客
44分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部