zoukankan      html  css  js  c++  java
  • TStrings类型的对象可以用数组运算符 [] 来取其中的元素的原因

    TStrings类型的对象可以用数组运算符  []  来取其中的元素的原因;
    我们来看看TStrings是怎么定义的,下面给出源代码,其中省略了一些无关紧要的定义,

     TStrings = class(TPersistent)
      private
        FDefined: TStringsDefined;
        FDelimiter: Char;
         ......
      protected
        procedure DefineProperties(Filer: TFiler); override;
        procedure Error(const Msg: string; Data: Integer); overload;
        .........
      public
        destructor Destroy; override;
        function Add(const S: string): Integer; virtual;
        ........
        property Strings[Index: Integer]: string read Get write Put; default;
        property Text: string read GetTextStr write SetTextStr;
        property StringsAdapter: IStringsAdapter read FAdapter write SetStringsAdapter;
      end;

    我们注意到其中有这么一行代码:
    property Strings[Index: Integer]: string read Get write Put; default; 
    在这个代码的后面有default 关键字.呵呵,就是它了,由于它的存在,下面的两种操作是等效的.

    list:TStings;

    list[i]; 等效于 list.Strings[i]

    最近看了c#之后发现他也有这样的特性,所以我估计这是一种被delphi证明了的广大程序员较为喜欢的特性。
  • 相关阅读:
    Try .NET & Github Gist
    vue & font-awesome
    JSP基础与提高(一).md
    chm转换为html文件
    markdownpad生成目录
    MarkdownPad2的密钥
    删除多余的win10软件
    计算机组成原理与机构期末复习的概念
    sublime text 的小细节设置,让你的代码更优美
    NetBeans主题配色方案加设置.md
  • 原文地址:https://www.cnblogs.com/strinkbug/p/513348.html
Copyright © 2011-2022 走看看