zoukankan      html  css  js  c++  java
  • 曾经被忽视的两个小功能


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

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

    var
      bs: TBytes;
    //  bs: TArray<Byte>
    begin
    //  SetLength(bs, 3);
      bs := VarArrayOf([11, 22, 33]);
      ShowMessage(IntToStr(bs[2])); //33
    end;
    
    var
      strArr: TArray<string>
    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[] 不同, 它快多了!
  • 相关阅读:
    DSP 知识点
    JVM中的垃圾收集
    MyBatis中的命名空间namespace的作用
    Gradle各版本下载地址
    redis学习笔记
    Mybaties 的缓存
    zookeeper配置集群报错Mode: standalone
    ZooKeeper 典型应用场景
    Linux下搭建mongDB环境
    关系型数据库三范式
  • 原文地址:https://www.cnblogs.com/del/p/3134761.html
Copyright © 2011-2022 走看看